大家都知道,vb.net封装了GDI,但是你死活找不到像vb6一样简单的代码
vb6是这样的:
Dim x1 As Integer
Dim x2 As Integer
Dim y1 As Integer
Dim y2 As Integer
Dim flag As Boolean
Private Sub Picture1_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
flag = True
x1 = x
y1 = y
Picture1.Line (x1, y1)-(x1 + 1, y1 + 1)
End Sub
Private Sub Picture1_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
If flag = False Then
Exit Sub
End If
If flag = True Then
x2 = x
y2 = y
Picture1.Line (x1, y1)-(x2, y2)
x1 = x2
y1 = y2
End If
End Sub
Private Sub Picture1_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)
flag = False
End Sub
而vb.net是这样的
Dim x1 As Integer
Dim x2 As Integer
Dim y1 As Integer
Dim y2 As Integer
Dim flag As Boolean = False
Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
flag = True
x1 = e.X
y1 = e.Y
x2 = e.X
y2 = e.Y
End Sub
Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
If flag = True Then
x1 = e.X
y1 = e.Y
Dim Graph As Graphics
Graph = Graphics.FromImage(PictureBox1.Image)
PictureBox1.CreateGraphics.DrawLine(p, New Point(x1, y1), New Point(x2, y2))
x2 = e.X
y2 = e.Y
End If
End Sub
Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp
flag = False
End Sub
现在终于明白了吧
那么如何清除呢?
vb6
Picture1.Cls
vb.net
PictureBox1.CreateGraphics.Clear(BackColor)