C#完成Winform無邊框挪動的辦法。本站提示廣大學習愛好者:(C#完成Winform無邊框挪動的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成Winform無邊框挪動的辦法正文
本文實例講述了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#法式設計有所贊助。