0

我正在开发一个 WinForms 应用程序,需要记录 MouseDown 和 MouseUp 事件的位置。我的问题是事件发生在不同的控件上,因此它们的坐标系不匹配(我需要的只是拖动量)。我尝试添加发送控件的位置,但它仍然无法正常工作。

有一个简单的解决方案吗?

4

1 回答 1

4

您可以为此目的使用PointToScreen方法。您的鼠标处理程序代码可能如下所示:

private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{   
    Control control = (Control) sender;
    Point pointOnScreen = control.PointToScreen(new Point(e.X, e.Y));

    ...
}
于 2009-06-29T15:59:59.520 回答