C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版
生活随笔
收集整理的這篇文章主要介紹了
C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
適用于有標題欄和無標題欄窗體,適用于窗體內控件,當然 Form 也不例外,只要能添加 MouseDown、MouseMove 事件,無需添加 MouseUp 事件,也無需考慮 Form 是否有標題欄。
本方法采用 Control.MousePosition,而沒有采用 MouseEventArgs e 獲取數據,是因為這樣無需考慮窗體有無標題欄和邊框的大小,也無需考慮是窗體引發事件,還是窗體內控件引發事件。
?
?
代碼//?獲取窗體的屏幕坐標和鼠標光標的位置(屏幕坐標)?
private?void?MainForm_MouseDown(object?sender,?MouseEventArgs?e)
{?
?????mousePoint?=?Control.MousePosition;?
?????formPoint?=?this.Location;
?}
?
??//?鼠標光標的屏幕坐標
?Point?mousePoint;
?
?//?窗體的屏幕坐標
?Point?formPoint;
?//?響應鼠標移動,并移動窗口
?private?void?MainForm_MouseMove(object?sender,?MouseEventArgs?e)
?{
?????if?(e.Button?==?MouseButtons.Left)
?????{
????????Point?mousePos?=?Control.MousePosition;
????????this.Location?=?new?Point(mousePos.X?-?mousePoint.X?+?formPoint.X,?mousePos.Y?-?mousePoint.Y?+?formPoint.Y);
?????}
?}
?
?
?
總結
以上是生活随笔為你收集整理的C# 移动窗口 适用于有标题栏和无标题栏窗体 超级简单版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Scaleform GFx
- 下一篇: 微博