Moving a window by dragging a click on a control

I have a WinForms project. I have a panel at the top of my window. I want this panel to be able to move the window when the user clicks on it and then drags it.

How can i do this?

+6
source share
1 answer

Add the following classes to your class:

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); 

Put this in your MouseDown event panel:

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

All Articles