要实现框选拖动功能,目前多选之后拖动时选中的控件不跟鼠标一起走,拖动的代码如下,
私以为,是不是因为position是int的原因,精度不够,有没有大神做过类似的,或对于运行时拖动有什么新的思路,叩谢!
private void label1_MouseDown(object sender, MouseEventArgs e)
{
pt = Cursor.Position;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
int px = Cursor.Position.X - pt.X;
int py = Cursor.Position.Y - pt.Y;
for (int i = 0; i < OriginList.Count; i++)
{
OriginList[i].lable.Location = new Point(OriginList[i].lable.Location.X + px, OriginList[i].lable.Location.Y + py);
}
pt = Cursor.Position;
}
}
拖动应该有专门的事件来处理吧?drag,drop还是什么,
一般不是你这样实现的