控件或窗体移动后坐标=控件实时坐标+内部鼠标坐标-移动前鼠标坐标
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