private const int WM_NCLBUTTONDOWN = 0xA1;
private const int HTCAPTION = 2;
[DllImport("user32.dll", EntryPoint="SendMessageA")]
private static extern int SendMessage (int hwnd, int wMsg, int wParam, int lParam);
[DllImport("user32.dll")]
private static extern int ReleaseCapture ();
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
//为当前的应用程序释放鼠标捕获
ReleaseCapture();
//发送消息,让系统误以为你在标题拦上按下鼠标
SendMessage((int)this.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
}
C#Winform无标题窗口的拖放实现
最新推荐文章于 2021-04-14 17:42:19 发布
本文介绍了一种使用 C# 在 Windows 应用程序中实现窗口拖动的方法。通过调用 user32.dll 中的 API 函数 ReleaseCapture 和 SendMessage,可以在不借助标题栏的情况下实现窗口的拖动效果。
1672

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



