VB.NET移动控件或者窗体思路

控件或窗体移动后坐标=控件实时坐标+内部鼠标坐标-移动前鼠标坐标

Dim pointStart As Point = Nothing

Private Sub 控件名(窗体名)_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 控件名(窗体名).MouseDown
    With pointStart
        .X = e.X
        .Y = e.Y
    End With
End Sub


Private Sub 控件名(窗体名)_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 控件名(窗体名).MouseMove
    If pointStart.X > 0 Then Me.Location = Me.Location + e.Location - pointStart
End Sub


Private Sub 控件名(窗体名)_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 控件名(窗体名).MouseUp
    pointStart = Nothing
End Sub

猜你喜欢

转载自blog.csdn.net/qq_18301257/article/details/82529152