C# Winform无边框移动窗体
鼠标点击某个控件时的移动
#region 鼠标拖动 [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; private void panel1_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); } #endregion
未指定控件
#region 移动窗体
[DllImport("user32.dll")]
public static extern bool Rese();
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case 0x84:
base.WndProc(ref m);
if (m.Result == (IntPtr)0x1)
{
m.Result = (IntPtr)2;
return;
}
break;
}
base.WndProc(ref m);
}
#endregion

浙公网安备 33010602011771号