vb.net graphic 简单的画图程序
[vb]
Public Class Form1
Dim DrawState As Boolean
Dim PreX As Single
Dim PreY As Single
Dim eP As New Pen(Color.Black, 3) ' 构造黑色画笔,并将它赋给对象变量eP
'Dim g As Graphics = Me.CreateGraphics ' 在窗体上构造一块画布,并将它赋给对象变量g
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 将DrawState初始化为False,表示提笔
DrawState = False
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
' 当鼠标左键被按下时,把DrawState设为True,表示落笔开始画线
Dim g As Graphics = Me.CreateGraphics
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = True ' 设置画图状态
PreX = e.X ' PreX和PreY保存了线条的起点。
PreY = e.Y
End If
' 当按住鼠标右键时,画一个直径为50的圆
If e.Button = Windows.Forms.MouseButtons.Right Then
g.DrawEllipse(eP, e.X - 25, e.Y - 25, 100, 100)
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' 当鼠标移动时,如果处于画线状态,则在(PreX,PreY)与(X,Y)之间画一条直线
Dim g As Graphics = Me.CreateGraphics
If DrawState = True Then
g.DrawLine(eP, PreX, PreY, e.X, e.Y)
PreX = e.X
PreY = e.Y
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' 当释放鼠标左键时,解除画线状态
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = False
End If
End Sub
End Class
Public Class Form1
Dim DrawState As Boolean
Dim PreX As Single
Dim PreY As Single
Dim eP As New Pen(Color.Black, 3) ' 构造黑色画笔,并将它赋给对象变量eP
'Dim g As Graphics = Me.CreateGraphics ' 在窗体上构造一块画布,并将它赋给对象变量g
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 将DrawState初始化为False,表示提笔
DrawState = False
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
' 当鼠标左键被按下时,把DrawState设为True,表示落笔开始画线
Dim g As Graphics = Me.CreateGraphics
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = True ' 设置画图状态
PreX = e.X ' PreX和PreY保存了线条的起点。
PreY = e.Y
End If
' 当按住鼠标右键时,画一个直径为50的圆
If e.Button = Windows.Forms.MouseButtons.Right Then
g.DrawEllipse(eP, e.X - 25, e.Y - 25, 100, 100)
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' 当鼠标移动时,如果处于画线状态,则在(PreX,PreY)与(X,Y)之间画一条直线
Dim g As Graphics = Me.CreateGraphics
If DrawState = True Then
g.DrawLine(eP, PreX, PreY, e.X, e.Y)
PreX = e.X
PreY = e.Y
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' 当释放鼠标左键时,解除画线状态
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = False
End If
End Sub
End Class
改法1
[vb]
Public Class Form1
Dim DrawState As Boolean
Dim PreX As Single
Dim PreY As Single
Dim eP As New Pen(Color.Black, 3) ' 构造黑色画笔,并将它赋给对象变量eP
Dim g As Graphics ' 在窗体上构造一块画布,并将它赋给对象变量g
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 将DrawState初始化为False,表示提笔
DrawState = False
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
' 当鼠标左键被按下时,把DrawState设为True,表示落笔开始画线
'Dim g As Graphics = Me.CreateGraphics
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = True ' 设置画图状态
PreX = e.X ' PreX和PreY保存了线条的起点。
PreY = e.Y
End If
' 当按住鼠标右键时,画一个直径为50的圆
If e.Button = Windows.Forms.MouseButtons.Right Then
g.DrawEllipse(eP, e.X - 25, e.Y - 25, 100, 100)
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' 当鼠标移动时,如果处于画线状态,则在(PreX,PreY)与(X,Y)之间画一条直线
'Dim g As Graphics = Me.CreateGraphics
If DrawState = True Then
g.DrawLine(eP, PreX, PreY, e.X, e.Y)
PreX = e.X
PreY = e.Y
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' 当释放鼠标左键时,解除画线状态
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = False
End If
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
g = Me.CreateGraphics
End Sub
End Class
Public Class Form1
Dim DrawState As Boolean
Dim PreX As Single
Dim PreY As Single
Dim eP As New Pen(Color.Black, 3) ' 构造黑色画笔,并将它赋给对象变量eP
Dim g As Graphics ' 在窗体上构造一块画布,并将它赋给对象变量g
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 将DrawState初始化为False,表示提笔
DrawState = False
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
' 当鼠标左键被按下时,把DrawState设为True,表示落笔开始画线
'Dim g As Graphics = Me.CreateGraphics
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = True ' 设置画图状态
PreX = e.X ' PreX和PreY保存了线条的起点。
PreY = e.Y
End If
' 当按住鼠标右键时,画一个直径为50的圆
If e.Button = Windows.Forms.MouseButtons.Right Then
g.DrawEllipse(eP, e.X - 25, e.Y - 25, 100, 100)
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' 当鼠标移动时,如果处于画线状态,则在(PreX,PreY)与(X,Y)之间画一条直线
'Dim g As Graphics = Me.CreateGraphics
If DrawState = True Then
g.DrawLine(eP, PreX, PreY, e.X, e.Y)
PreX = e.X
PreY = e.Y
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
' 当释放鼠标左键时,解除画线状态
If e.Button = Windows.Forms.MouseButtons.Left Then
DrawState = False
End If
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
g = Me.CreateGraphics
End Sub
End Class
上一篇: asp.net如何在图片上加水印文字
下一篇: ASP.NET中实现文件下载功能