本文實例講述了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#程序設計有所幫助。
新聞熱點
疑難解答