winForm 实现鼠标拖动
//定义一个布尔变量,作为事件的开关。
bool b = false;
//定义一个‘点’的变量,接收鼠标的点位置。
Point mousePonit;
private void Form2_MouseDown(object sender, MouseEventArgs e)
{
//考虑是否鼠标左键按下,如果按下则开始做以下的事情。
if (e.Button == MouseButtons.Left)
{
//给mousePonit定义为当前的鼠标位置坐标。
mousePonit = new Point(-e.X, -e.Y);
//设置变量b为布尔真值。
b = true;
}
}
private void Form2_MouseMove(object sender, MouseEventArgs e)
{
//如果获取b为真的时候,开始执行下面的语句。
if (b)
{
//定义一个‘点’变量,为组件的鼠标光标位置
Point p = Control.MousePosition;
//平移mousePonit为p变量。
p.Offset(mousePonit);
//控件的位置,为p位置。
this.Location = p;
}
}
private void Form2_MouseUp(object sender, MouseEventArgs e)
{
b = false;
}