Point Depart = new Point();
private void panel_MouseMove( object sender, MouseEventArgs e )
{
Panel p = sender as Panel;
if ( e.Button == MouseButtons.Left )
{
Point mousePos = this.PointToClient( Control.MousePosition );
if ( Depart.IsEmpty )
Depart = new Point( mousePos.X - p.Left, mousePos.Y - p.Top );
p.Location = new Point( mousePos.X - Depart.X, mousePos.Y - Depart.Y );
}
else if ( !Depart.IsEmpty )
Depart = new Point();
}
// Et bien sur, en evenement sur le panel
this.panel.MouseMove += new System.Windows.Forms.MouseEventHandler( this.panel_MouseMove );