C#實現(xiàn)Winform無邊框移動的方法
更新時間:2015年09月10日 12:36:30 作者:我心依舊
這篇文章主要介紹了C#實現(xiàn)Winform無邊框移動的方法,涉及C#針對WinForm窗口操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#實現(xiàn)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://鼠標(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; } }
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C#實現(xiàn)XML文件與DataTable、Dataset互轉(zhuǎn)
這篇文章介紹了C#實現(xiàn)XML文件與DataTable、Dataset互轉(zhuǎn)的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04C# 無需COM組件創(chuàng)建快捷方式的實現(xiàn)代碼
做一個小程序, 需要創(chuàng)建快捷方式, 網(wǎng)上普遍的做法是引入 COM 組件, 雖然也挺方便的, 但引入之后, 程序就需要多帶一個 dll 文件, 這樣, 想做成單文件便攜版就不行了2011-05-05