vbnetgraphic简单的画图程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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