鼠標點擊某個控件時的移動
#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
