获取 SharpDX 中相对于窗口的鼠标位置
Posted
技术标签:
【中文标题】获取 SharpDX 中相对于窗口的鼠标位置【英文标题】:Get Mouse Position in SharpDX relative to window 【发布时间】:2017-03-27 17:48:24 【问题描述】:如何获取 C# 中光标相对于 im 所在窗口的位置? 我正在使用 SharpDX,我试过了
System.Drawing.Point loc = Cursor.Position;
和
System.Drawing.Point loc = Control.MousePosition;
这给了我光标的绝对 X 和 Y 坐标(X:0 和 Y:0 位于屏幕的左上角,而不是我的窗口)。
是否在 SharpDX 中实施了一些措施来完成这项工作? 我在互联网上找不到任何对我有用的东西
【问题讨论】:
【参考方案1】:假设您使用的是winform?如果是这样,请查找控件的鼠标事件。
如果您不使用 Visual Studio,则必须添加事件。控件示例可以在这里找到 -> https://msdn.microsoft.com/en-us/library/system.windows.forms.control.mousemove(v=vs.110).aspx
据我回忆,Sharpdx 本身根本不处理鼠标。您需要了解鼠标在窗口内的移动领域,并转换为您需要的任何输入流。
【讨论】:
没有我在哪里说鼠标点击,我给你发送了表单的 mousemove 事件链接,它是一个控件,它就是你的表单。表单中的事件被触发,它通过对象 System.Windows.Forms.MouseEventArgs 中的鼠标当前位置。这具有当前控件中鼠标的 X 和 Y 坐标。以上是关于获取 SharpDX 中相对于窗口的鼠标位置的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 中一些概念理解 :clientXclientYoffsetXoffsetYscreenXscreenY