我在我的C#Win App中使用旧的ActiveX控件。 它有一个MouseUp事件,它的eventArgs传递了我们点击过的点的X和Y,但对于我的场景,我使用它的ItemClick事件,它的eventArgs没有关于X和Y的信息。但我需要知道他们显示我的弹出窗口...所以有办法我可以找出什么是X和Y的用户右键单击的位置,所以我可以将其传递给我的contextMenuStrip.Show方法。获取控制点击点
感谢
我在我的C#Win App中使用旧的ActiveX控件。 它有一个MouseUp事件,它的eventArgs传递了我们点击过的点的X和Y,但对于我的场景,我使用它的ItemClick事件,它的eventArgs没有关于X和Y的信息。但我需要知道他们显示我的弹出窗口...所以有办法我可以找出什么是X和Y的用户右键单击的位置,所以我可以将其传递给我的contextMenuStrip.Show方法。获取控制点击点
感谢
控制类有一个静态只读属性MousePosition,这给屏幕上的鼠标坐标。你可以用它来知道ContextMenu的位置。
从MSDN:
Control.MousePosition属性
类型:System.Drawing.Point
包含 鼠标光标相对于与所述 左上的坐标的Point屏幕的一角。
您需要获取获取屏幕位置的光标位置,然后从控件中调用pointToClient以获取控件的相关点。阿卡。 0,0是控件的左上角。
this.PointToClient(Cursor.Position);
+1为其他答案带领我在正确的方向。
这可能有助于参考,以及:http://stackoverflow.com/questions/1316681/getting-mouse-position-in-c – mint 2010-08-09 19:07:08