C#下如何实现点击窗口中任意位置拖动窗口
今天需要用到这个,于是百度了一下。从百度知道找到了答案,效果很满意。
问:鼠标在窗口的任意位置按下,即可把窗口拖动到其它位置。通常标准的Windows窗口只有在标题栏上按下鼠标才可以拖动,那么如何实现窗口的任意位置都可以拖动呢?
答:
响应窗口的MouseDown和MouseMove消息
- private Point offset;
- private void Form1_MouseDown(object sender, MouseEventArgs e)
- {
- if (MouseButtons.Left != e.Button) return;
- Point cur = this.PointToScreen(e.Location);
- offset = new Point(cur.X – this.Left, cur.Y – this.Top);
- }
- private void Form1_MouseMove(object sender, MouseEventArgs e)
- {
- if (MouseButtons.Left != e.Button) return;
- Point cur = MousePosition;
- this.Location = new Point(cur.X – offset.X, cur.Y – offset.Y);
- }
关键字:C# 支持任意位置拖动窗体源码
Popularity: unranked [?]
最新评论