一般我們在開發Windows Form的桌面應用程式時,有時會使用無邊框的樣板製作 (Maybe 想要自訂樣式),但是若應用程式外框沒了,就無法透過滑鼠來移動式窗的位置,如此一來對使用者是極大的不方便,卸除率自然就攀高…
本篇文章將引導您製作可透過滑鼠拖曳的Windows Form應用程式。
一般我們在開發Windows Form的桌面應用程式時,有時會使用無邊框的樣板製作 (Maybe 想要自訂樣式),但是若應用程式外框沒了,就無法透過滑鼠來移動式窗的位置,如此一來對使用者是極大的不方便,卸除率自然就攀高…
本篇文章將引導您製作可透過滑鼠拖曳的Windows Form應用程式。
話說這是SUKI很久以前開發的專案,有使用到這個功能,
在此分享給各位國家未來的棟樑們!!
假設是在使用者拖曳Form控制項範圍時移動視窗,
我們就必須在Form底下的事件去撰寫程式碼
首先在舞台上的Form 也就是應用程式的最外層的容器,賦予名稱
並新增 【MouseDown】和【MouseMove】的事件,
輸入以下程式碼
1: private Point startPoint;
2: private void Form1_MouseDown(object sender, MouseEventArgs e)
3: {
4: //當滑鼠擊點到Form1控制項的範圍內時,紀錄目前是窗的位置
5: startPoint = new Point(-e.X + SystemInformation.FrameBorderSize.Width, -e.Y - SystemInformation.FrameBorderSize.Height);
6: }
7:
8: private void Form1_MouseMove(object sender, MouseEventArgs e)
9: {
10: //如果使用者使用的是左鍵按下,意旨使用右鍵拖曳無效
11: if (e.Button == MouseButtons.Left)
12: {
13: Point mousePos = Control.MousePosition;
14: //新視窗的位置
15: mousePos.Offset(startPoint.X, startPoint.Y);
16: //改變視窗位置
17: Location = mousePos;
18: }
19:
20: }
如此一來我們便可以直接拖曳視窗囉!
文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 ! 感謝。
SUKI