Windows 窗体应用程序:
这让我困惑了好几个小时。我正在尝试做的是当我按住标签时,它会移动表格。
private void label1_MouseUp(object sender, MouseEventArgs e)
{
KeepMoving = false;
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
KeepMoving = true;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (KeepMoving == true)
this.Location = new Point(MousePosition.X - (e.X + SystemInformation.FrameBorderSize.Width + label1.Left), MousePosition.Y - (e.Y + SystemInformation.CaptionHeight + label1.Top));
}
是我正在使用的(当然是公共布尔值 KeepMoving。)
如果我删除 eX 和 eY,一切正常,但它是相对于标签左上角的位置,但是我想要标签本身的位置。
当我使用消息框在标签上显示 eX 和 eY 的坐标时,数字是正确的,显示了我点击标签的位置。当我使用上面代码中的点时,无论我点击标签上的哪个位置,数字都不会改变,当我尝试移动它时,它会上升到 30k+ 范围。
为什么 MouseEventArgs 在我的方程式中不起作用?抱歉,如果我描述得不好,我会尽力而为。