欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

C#-窗体移动

发布时间:2025/6/17 C# 12 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C#-窗体移动 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#region 窗体移动API[DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);public const int WM_SYSCOMMAND = 0x0112;public const int SC_MOVE = 0xF010;public const int HTCAPTION = 0x0002;[DllImport("user32")]private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);private const int WM_SETREDRAW = 0xB;#endregion//窗体拖拽(包含双击最大化,根据两次点击的point判断是拖拽还是双击、坐标保存在SetForm.Tag)textBox1.MouseDown += delegate{if (this.Tag != null && ((int[])this.Tag)[0] == Control.MousePosition.X && ((int[])this.Tag)[1] == Control.MousePosition.Y){if (this.WindowState != FormWindowState.Maximized){this.Opacity = 0;this.Tag = null;this.WindowState = FormWindowState.Maximized;}else{this.Tag = null;this.WindowState = FormWindowState.Normal;//InvalidateRect(IntPtr.Zero, IntPtr.Zero, true);}}else{this.Tag = new int[2] { Control.MousePosition.X, Control.MousePosition.Y };}//刷新桌面if (this.WindowState == FormWindowState.Normal){ReleaseCapture();SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);}};

总结

以上是生活随笔为你收集整理的C#-窗体移动的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。