The code is in vb (sorry):
Private posx, posy As Integer
Private Sub Form1_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
canMove = 1
posx = MousePosition.X
posy = MousePosition.Y
End Sub
Private Sub Form1_MouseMove(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If canMove = 1 And (posx <> MousePosition.X Or posy <> MousePosition.Y) Then
MoveForm()
End If
posx = MousePosition.X
posy = MousePosition.Y
End Sub
It does go back and forth(its because of your code in MoveForm()) but if you don't move the mouse it stops.
Edit: in c# (used translator)
int posx, posy;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
canMove = true;
posx = MousePosition.X;
posy = MousePosition.Y;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (canMove == 1 && (posx != MousePosition.X || posy != MousePosition.Y)) {
MoveForm();
}
posx = MousePosition.X;
posy = MousePosition.Y;
}
valter