C#中無邊框窗體移動

拖動無邊框窗體Form至桌面任何位置

首先建一個Windows應用程序
將Form1的 FormBorderStyle屬性設置爲Noepost

 1  Point mouseOff;//鼠標移動位置變量
 2         bool leftFlag;//標記是否爲左鍵
 3         private void Form1_MouseDown(object sender, MouseEventArgs e)
 4         {
 5             if (e.Button == MouseButtons.Left)
 6             {
 7                 mouseOff = new Point(-e.X, -e.Y); //獲得變量的值
 8                 leftFlag = true;                  //點擊左鍵按下時標註爲true;
 9             }
10         }
11 
12         private void Form1_MouseMove(object sender, MouseEventArgs e)
13         {
14             if (leftFlag)
15             {
16                 Point mouseSet = Control.MousePosition;
17                 mouseSet.Offset(mouseOff.X, mouseOff.Y);  //設置移動後的位置
18                 Location = mouseSet;
19             }
20         }
21 
22         private void Form1_MouseUp(object sender, MouseEventArgs e)
23         {
24             if (leftFlag)
25             {
26                 leftFlag = false;//釋放鼠標後標註爲false;
27             }
28         }
相關文章
相關標籤/搜索