程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成Winform無邊框挪動的辦法

C#完成Winform無邊框挪動的辦法

編輯:C#入門知識

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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved