通过单击并拖动控件来移动窗口

我有一个WinForms项目。 我的窗户顶部有一个面板。 我希望该面板能够移动窗口,当用户点击它,然后拖动。

我怎样才能做到这一点?

Solutions Collecting From Web of "通过单击并拖动控件来移动窗口"

将以下的删除添加到您的课堂上:

 public const int WM_NCLBUTTONDOWN = 0xA1; public const int HTCAPTION = 0x2; [DllImport("User32.dll")] public static extern bool ReleaseCapture(); [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); 

把这个放在面板的MouseDown事件中:

 private void panel1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { ReleaseCapture(); SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0); } }