MousEventArgs.Location和Cursor.Position之间的区别

时间:2009-12-26 07:34:00

标签: c# winforms

我不明白为什么Cursor.PositionMouseEventArgs.Location不同,它们应该是相同的,不是吗?

编辑:答案似乎表明Cursor.Position== PointToScreen(MouseEventArgs.Location),但我的测试表明不是。

4 个答案:

答案 0 :(得分:10)

MouseEventArgs.Position是事件期间相对于控件的鼠标光标位置 ,事件发生时

Cursor.Position是当前鼠标光标位置相对于桌面

答案 1 :(得分:1)

MouseEventArgs.location为您提供事件期间相对于控件的光标位置

Windows.Forms.Cursor.Position为您提供相对于桌面的光标位置

显然,这两者不一定也不相同。后者可以在没有事件的情况下使用,因为它与MouseEventArgs.Location

不同

答案 2 :(得分:0)

我认为Cursor.Position是相对于桌面的,而MouseEventArgs.Location是相对于触发事件的控件

答案 3 :(得分:0)

MouseEventArgs.Position相对于控件的客户端矩形,Cursor.Position位于屏幕坐标中。