Réponse acceptée !
Tu as écrit un peu vite Seb
, les valeurs de retour c'est à m.Result qu'il faut les attribuées. Pas sûr non plus que que la fenêtre recoit WM_NCHITTEST quand on passe au dessus du contrôle faudrait overrider la fonction WndProc du Panel pour ça.
EmacLi, tu as un exemple sur Codyx :
http://www.codyx.org/snippet_deplacer-forme-sans-barre-titre_23.aspx
Autre exemple pour déplacer ta forme avec le Panel :
public partial class Form1 : Form
{
private Panel panel = null;
private Point position = Point.Empty;
public Form1( )
{
InitializeComponent( );
panel = new Panel( );
panel.BackColor = Color.Azure;
panel.MouseDown += delegate( object sd, MouseEventArgs e )
{
if ( e.Button == MouseButtons.Left )
position = e.Location;
};
panel.MouseMove += delegate( object sd, MouseEventArgs e )
{
if ( e.Button == MouseButtons.Left )
{
int x = this.Left + ( e.X - position.X );
int y = this.Top + ( e.Y - position.Y );
this.Bounds = new Rectangle( x, y, this.Width, this.Height );
}
};
this.Controls.Add( panel );
}
}