winfor 单击控件可移动 放开静止

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:55:53
一个winform问题
一个控件,如一个按妞。
鼠标点住控件后,控件随鼠标移动而移动,放开鼠标健后,控件静止。

越简单越好,说一下思路。
在线等

思路就是:在所点控件的某些事件里设置它的坐标
我用C#实现了你说的
代码如下: 分可以给了吧 呵呵
bool tuodong = false;//全局变量用于控制是否开始拖动
//按钮的MouseDown事件
private void button3_MouseDown(object sender, MouseEventArgs e)
{
Point p = this.PointToClient(Cursor.Position);
button3.Location = new Point(p.X - button3.Width / 2, p.Y - button3.Height / 2);
tuodong = true;
}
//按钮的MouseMove事件
private void button3_MouseMove(object sender, MouseEventArgs e)
{
if (tuodong)
{
Point p = this.PointToClient(Cursor.Position);
button3.Location = new Point(p.X - button3.Width / 2, p.Y - button3.Height / 2);
}
}
//按钮的MouseUp事件
private void button3_MouseUp(object sender, MouseEventArgs e)
{
tuodong = false;
}

记录下鼠标移动后鼠标放开的时候的坐标
把窗体移动到鼠标放开的地方就行了

不太懂.....

好复杂. 不太懂哦. 祝你找到好答案

爱人路,朋友树