• how to make a panel draggable in c#

    how to make a panel draggable in c#

    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 🙂