Winform 窗口拖动
public partial class Desktop : Form { private Point mPoint = new Point();//记录鼠标指针的坐标 private bool isMouseDown = false; //记录鼠标按键是否按下 public Desktop() { InitializeComponent(); Init(); } public void Init() { //鼠标按下事件 this.MouseDown += Desktop_MouseDown; //鼠标移动事件 this.MouseMove += Desktop_MouseMove; this.MouseUp += Desktop_MouseUp; } private void Desktop_MouseUp(object sender, MouseEventArgs e) { // 修改鼠标状态isMouseDown的值 // 确保只有鼠标左键按下并移动时,才移动窗体 if (e.Button == MouseButtons.Left) { isMouseDown = false; } } private void Desktop_MouseMove(object sender, MouseEventArgs e) { if (isMouseDown) { Point myPosittion = MousePosition; myPosittion.Offset(-mPoint.X, -mPoint.Y); Location = myPosittion; } } private void Desktop_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { mPoint.X = e.X; mPoint.Y = e.Y; isMouseDown = true; } } }
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。