¿Cómo arrastrar el panel en C#?
[DllImport("user32.dll",?EntryPoint?=?"ReleaseCapture")]
public?static?extern?void?ReleaseCapture();
[DllImport("user32.dll",?EntryPoint?=?"SendMessage")]
public?static?extern?void?SendMessage(int?hwnd,?int?wMsg,?int? wParam,?int?lParam);
Cargue la declaración anterior en el archivo de clase de formulario y luego agregue eventos al control arrastrado. Por ejemplo, soy un panelprivate?void?panelForm_MouseDown(object?sender, ? MouseEventArgs?e)
{
if?(e.Button?==?MouseButtons.Left)
{
ReleaseCapture ( );
SendMessage((int) objeto movido.Handle,?0xA1,?2,?0);
//Es el formulario en sí
//SendMessage((int)this.Handle,?0xA1,?2,?0);
//El panel es SendMessage((int)panel1.Handle,?0xA1,?2,?0 );
}
}
Este es el evento estándar de arrastrar y soltar de Windows. Para el siguiente, el formulario parpadeará continuamente al arrastrar, siempre. renderizando el fondo