The following code snippet (posted in the Windows Forms FAQ forums) shows how you can prevent a user from moving a form at run time:
protected override void WndProc( ref Message m )
{
const int WM_NCLBUTTONDOWN = 161;
const int WM_SYSCOMMAND = 274;
const int HTCAPTION = 2;
const int SC_MOVE = 61456;
if ( (m.Msg == WM_SYSCOMMAND) && (m.WParam.ToInt32() == SC_MOVE) )
return;
if ( (m.Msg == WM_NCLBUTTONDOWN) && (m.WParam.ToInt32() == HTCAPTION) )
return;
base.WndProc( ref m );
}
Contributed from George Shepherd's Windows Forms FAQ