实现窗体的拖动

2016-05-05 16:07:00
陈奕华
原创 841
摘要:窗体的拖动

定义变量:

 Point mouseOff;         //记录鼠标指针的坐标
 bool leftFlag;

编写函数:

 private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                mouseOff = new Point(-e.X, -e.Y); //得到变量的值
                leftFlag = true;                  //点击左键按下时标注为true;
            }
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                Point mouseSet = Control.MousePosition;
                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置
                Location = mouseSet;
            }
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            if (leftFlag)
            {
                leftFlag = false;//释放鼠标后标注为false;
            }
        }
实现调用:

this.MouseMove += new MouseEventHandler(Form1_MouseMove);
 this.MouseUp += new MouseEventHandler(Form1_MouseUp);
 this.MouseDown += new MouseEventHandler(Form1_MouseDown);