Zunächst müssen wir die Interop-Dienste verwenden, indem wir den Namespace als
using System.Runtime.InteropServices;
Als Nächstes müssen die Nachrichten definiert werden, die für die Verschiebung des Formulars sorgen sollen. Wir werden diese als Klassenvariablen haben
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
und schließlich werden wir den Code schreiben, um die Nachricht zu senden, wenn der Benutzer die Maustaste drückt. Das Formular wird entsprechend der Mausbewegung neu positioniert, wenn der Benutzer die Maustaste gedrückt hält.
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(this.Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
Siehe diesen Link Ziehbares Formular
Kredite an rahul-rajat-singh