当winform的formborderstyle设置 为none时,winform不能拖拽,下列代码可重写实习该功能
[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);
}
本文介绍了一种实现WinForm窗口无边框且可拖拽的方法。通过使用PInvoke调用.NET Framework底层API(如ReleaseCapture和SendMessage),使得设置为无边框的WinForm能够响应鼠标拖拽操作。
6452

被折叠的 条评论
为什么被折叠?



