手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#实现Winform无边框移动的方法
C#实现Winform无边框移动的方法
摘要:本文实例讲述了C#实现Winform无边框移动的方法。分享给大家供大家参考。具体如下:constintHTLEFT=10;constintH...

本文实例讲述了C#实现Winform无边框移动的方法。分享给大家供大家参考。具体如下:

const int HTLEFT = 10; const int HTRIGHT = 11; const int HTTOP = 12; const int HTTOPLEFT = 13; const int HTTOPRIGHT = 14; const int HTBOTTOM = 15; const int HTBOTTOMLEFT = 0x10; const int HTBOTTOMRIGHT = 17; protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x0084: base.WndProc(ref m); Point vPoint = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16 & 0xFFFF); vPoint = PointToClient(vPoint); if (vPoint.X <= 5) if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOPLEFT; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOMLEFT; else m.Result = (IntPtr)HTLEFT; else if (vPoint.X >= ClientSize.Width - 5) if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOPRIGHT; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOMRIGHT; else m.Result = (IntPtr)HTRIGHT; else if (vPoint.Y <= 5) m.Result = (IntPtr)HTTOP; else if (vPoint.Y >= ClientSize.Height - 5) m.Result = (IntPtr)HTBOTTOM; break; case 0x0201://鼠标左键按下的消息 m.Msg = 0x00A1;//更改消息为非客户区按下鼠标 m.LParam = IntPtr.Zero;//默认值 m.WParam = new IntPtr(2);//鼠标放在标题栏内 base.WndProc(ref m); break; default: base.WndProc(ref m); break; } }

希望本文所述对大家的C#程序设计有所帮助。

【C#实现Winform无边框移动的方法】相关文章:

c#实现用SQL池,多线程定时批量执行SQL语句的方法

c#之利用API函数实现动画窗体的方法详解

C#处理JPEG头信息的方法

用C#实现启动另一程序的方法实例

C# javascript 读写Cookie的方法

C#中控制远程计算机的服务的方法

C#实现窗体淡入淡出效果的方法总结

C#定位txt指定行的方法小例子

.net后台获取html控件值的2种方法

c# 获取数据库中所有表名称的方法

精品推荐
分类导航