C#實(shí)現(xiàn)Winform無邊框移動(dòng)的方法
更新時(shí)間:2015年09月10日 12:36:30 作者:我心依舊
這篇文章主要介紹了C#實(shí)現(xiàn)Winform無邊框移動(dòng)的方法,涉及C#針對(duì)WinForm窗口操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#實(shí)現(xiàn)Winform無邊框移動(dòng)的方法。分享給大家供大家參考。具體如下:
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://鼠標(biāo)左鍵按下的消息 m.Msg = 0x00A1;//更改消息為非客戶區(qū)按下鼠標(biāo) m.LParam = IntPtr.Zero;//默認(rèn)值 m.WParam = new IntPtr(2);//鼠標(biāo)放在標(biāo)題欄內(nèi) base.WndProc(ref m); break; default: base.WndProc(ref m); break; } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- C# 改變無邊框窗體尺寸大小的方法
- C# 無邊框窗體之窗體移動(dòng)實(shí)現(xiàn)代碼
- C# 無邊框窗體邊框陰影效果的簡單實(shí)現(xiàn)
- C#中無邊框窗體移動(dòng)的簡單實(shí)例
- C# WinForm實(shí)現(xiàn)窗體上控件自由拖動(dòng)功能示例
- C#實(shí)現(xiàn)Winform鼠標(biāo)拖動(dòng)窗口大小時(shí)設(shè)定窗口最小尺寸的方法
- c#實(shí)現(xiàn)無標(biāo)題欄窗口的拖動(dòng)
- C# Winform 讓整個(gè)窗口都可以拖動(dòng)
- C# 實(shí)現(xiàn)窗口無邊框,可拖動(dòng)效果
相關(guān)文章
Unity實(shí)現(xiàn)新手引導(dǎo)鏤空效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)新手引導(dǎo)的鏤空效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02C#實(shí)現(xiàn)XML文件與DataTable、Dataset互轉(zhuǎn)
這篇文章介紹了C#實(shí)現(xiàn)XML文件與DataTable、Dataset互轉(zhuǎn)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04解析C# Console 控制臺(tái)為什么也會(huì)卡死(原因分析)
在分析旅程中,總會(huì)有幾例控制臺(tái)的意外卡死導(dǎo)致的生產(chǎn)事故,有經(jīng)驗(yàn)的朋友都知道,控制臺(tái)卡死一般是動(dòng)了快速編輯窗口的緣故,雖然知道緣由,但一直沒有時(shí)間探究底層原理,市面上也沒有對(duì)這塊的底層原理介紹,昨天花了點(diǎn)時(shí)間簡單探究了下,感興趣的朋友一起看看吧2023-10-10C# 無需COM組件創(chuàng)建快捷方式的實(shí)現(xiàn)代碼
做一個(gè)小程序, 需要?jiǎng)?chuàng)建快捷方式, 網(wǎng)上普遍的做法是引入 COM 組件, 雖然也挺方便的, 但引入之后, 程序就需要多帶一個(gè) dll 文件, 這樣, 想做成單文件便攜版就不行了2011-05-05