C#窗体随意移动
2014-08-11 11:32
127 查看
//全区域移动 const int WM_NCLBUTTONDOWN = 0xA1; const int HT_CAPTION = 0x2; [DllImport("user32.dll")] static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); protected override void OnMouseDown(MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.Capture = false; SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); } else { this.Close(); // 右键可以退出窗体 } }
//标题区域移动 [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; public void ShapedForm_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); }
相关文章推荐
- C#中无边框窗体随意移动代码
- C#中拖拽窗体随意移动代码
- C# winform无标题窗体随意移动
- c# 实现无标题栏的窗体移动
- C# WInForm 无框窗体移动
- C#下移动winform窗体(cs文件)后导致.Designer.cs、.resx文件分离出来
- C# WInForm 无框窗体移动
- C#设置MDI子窗体不可移动
- c#实现随鼠标移动窗体
- C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版
- C#无边框窗体的移动
- C#设置MDI子窗体不可移动
- C# 无边框窗体随意拖动和改变尺寸
- C# FORM中创建圆形窗体 + 移动窗体
- 使用C#实现移动无边框窗体
- 使用C#实现移动无边框窗体
- C#移动无标题栏窗体的三种代码:
- C#实现窗体移动
- 用C#做一个悬浮窗口[含三种移动无标题窗体的办法]
- C#中无边框窗体移动