-1
我完成了我的程序,只有2件事要做。但是現在讓我們關注一下我的主要問題:我已經獲得了一個代碼,它可以讓用戶在繪圖箱內畫圖,稍後將作爲簽名使用。一切工作正常,直到我添加了第二個相同的代碼picturebox(是的,我改變了前例picturebox1 pixturebox2)。當我開始繪畫的時候,我不能放手,同時這兩個畫框都會被隔離。 這是我的兩個pictureboxes的代碼。Vb.net 2簽名
Private _Previous As System.Nullable(Of Point) = Nothing
Private Sub pictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
_Previous = e.Location
pictureBox1_MouseMove(sender, e)
End Sub
Private Sub pictureBox1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
If _Previous IsNot Nothing Then
If PictureBox1.Image Is Nothing Then
Dim bmp As New Bitmap(PictureBox1.Width, PictureBox1.Height)
Using g As Graphics = Graphics.FromImage(bmp)
g.Clear(Color.White)
End Using
PictureBox1.Image = bmp
End If
Using g As Graphics = Graphics.FromImage(PictureBox1.Image)
g.DrawLine(Pens.Black, _Previous.Value, e.Location)
End Using
PictureBox1.Invalidate()
_Previous = e.Location
End If
End Sub
Private Sub pictureBox2_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox2.MouseDown
_Previous = e.Location
pictureBox1_MouseMove(sender, e)
End Sub
Private Sub pictureBox2_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox2.MouseMove
If _Previous IsNot Nothing Then
If PictureBox2.Image Is Nothing Then
Dim bmp As New Bitmap(PictureBox2.Width, PictureBox2.Height)
Using g As Graphics = Graphics.FromImage(bmp)
g.Clear(Color.White)
End Using
PictureBox2.Image = bmp
End If
Using g As Graphics = Graphics.FromImage(PictureBox2.Image)
g.DrawLine(Pens.Black, _Previous.Value, e.Location)
End Using
PictureBox2.Invalidate()
_Previous = e.Location
End If
End Sub
Private Sub pictureBox2_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox2.MouseUp
_Previous = Nothing
End Sub
我知道有一些錯誤,但我很高興看到它。
我改變了,現在有一些改變的原因如果我開始畫picturebox2然後它不會與picturebox1交互。但如果我從picturebox1開始,那麼同樣的錯誤發生,我不按我的鼠標鍵,但它不會停止行動。 –