Winfrom通过Panel拖动无边框窗体
首先在窗体内部定义需要调用的windows api 以及参数
[DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int WM_SYSCOMMAND = 0x0112; public const int SC_MOVE = 0xF010; public const int HTCAPTION = 0x0002;
其次在Panel的mousedown方法调用api
private void pnlMove_MouseDown(object sender, MouseEventArgs e) { try { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); } catch (Exception ex) { } }