how to make a panel draggable in c#
You can create movable panels when you create c# winForm.
I told you how to do it in detail. Look carefully and follow along.
If you have any questions, please feel free to email us.
a@tion.kr
1. Copy the source code below to the top of your code.
[DllImport("user32.DLL", EntryPoint = "ReleaseCapture")] private extern static void ReleaseCapture(); [DllImport("user32.DLL", EntryPoint = "SendMessage")] private extern static void SendMessage(System.IntPtr hWnd, int wMsg, int wParam, int lParam); private const int SYSTEMCOMMAND = 0x112; private const int SC_DRAGMOVE = 0xF012; // This function moves the MainForm. private void panel_MouseMove(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, SYSTEMCOMMAND, SC_DRAGMOVE, 0); } // This function only moves the panel. private void panel_MouseMove_object(object sender, MouseEventArgs e) { ReleaseCapture(); Panel panel = sender as Panel; SendMessage(panel.Handle, SYSTEMCOMMAND, SC_DRAGMOVE, 0); }
2. Add ‘MouseMove events’ to the panel you want to move.
Select a mousemove event from a mouse event entry in the visual studio.
this.panel.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel_MouseMove_object);
3. Move the panel.
If it works well, it’s a success.
thank you 🙂
목차