You can drag such a window by using Win32 APIs to switch the mouse hit to WM_NCLBUTTONDOWN. The code below will allow you to drag by mousing down anywhere in the form's clientarea as long as you don't hit a child control on the form.using System.Runtime.InteropServices;
     ............
     public const int WM_NCLBUTTONDOWN = 0xA1;
     public const int HTCAPTION = 0x2;     [DllImportAttribute ("user32.dll")]
     public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);     [DllImportAttribute ("user32.dll")]
     public static extern bool ReleaseCapture();     private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
     {
          ReleaseCapture();
          SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
     }