0

问题是我试图获取图片框的当前位置。当我使用 MouseEvenArgs 时一切正常。但是当我尝试使用检测位置时

 Cursor.Position.X;

它不能以正确的方式工作。差异接近 20-30 像素。在我看来,它给了我一些不同的立场。

所以,问题是:通过MouseEventArgs 或Cursor.Position 获得的位置之间有什么区别吗?还有其他方法可以在不使用鼠标事件的情况下检测我当前的光标位置吗?

4

2 回答 2

4

Cursor.Position测量屏幕坐标。您可以使用PointToClientPointToScreen方法在屏幕和客户端(表单)坐标之间进行映射。

MouseEventArgs.GetPosition返回

鼠标指针相对于指定元素的位置。

MSDN 参考- Windows 窗体坐标

于 2013-06-15T18:14:55.327 回答
0

Cursor 的默认剪切矩形是整个屏幕,并且您从 MouseMove 接收到的坐标将转换为当前控件:

http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx

于 2013-06-15T18:16:05.443 回答