版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weiwei_c/article/details/49769031
本文是一个实现手写板的简单小示例,当鼠标按下时开始写字,鼠标松开时停止写字。
原理非常简单,当触发MouseDown事件时记录起始坐标startPoint,随着鼠标的移动触发MouseMove事件,记录当前坐标currentPoint,并以startPoint和currentPoint两点画直线,刷新startPoint的坐标。
实现代码如下:
Public Class Form1
Private graphics As Graphics
Private startPoint As Point
Private currentPoint As Point
Private flagDraw As Boolean
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
graphics = Me.CreateGraphics
End Sub
Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
startPoint = e.Location
flagDraw = True
End Sub
Private Sub Form1_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
If flagDraw Then
currentPoint = e.Location
graphics.DrawLine(New Pen(Brushes.Black), startPoint, currentPoint)
startPoint = currentPoint
End If
End Sub
Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp
flagDraw = False
End Sub
End Class