【问题标题】:Set the cursor to go to the other border of the screen if it goes into one in WPF如果光标进入 WPF 中的一个边框,则将光标设置为转到屏幕的另一个边框
【发布时间】:2014-05-09 03:30:47
【问题描述】:

我目前正在 WPF 中开发一个 3D 查看器应用程序,出于人体工程学的原因,我希望鼠标进入屏幕的另一个边框。

例如,如果我的鼠标进入屏幕顶部边框,请将我的鼠标位置设置为屏幕底部。 左/右相同。

如何在 WPF 中实际检测鼠标位置?我能得到的唯一位置是与软件有关,而不是整个屏幕。

另外,如果它可以支持双显示器,那就太好了。 (所以鼠标只有进入第二台显示器才会重新设置)

【问题讨论】:

    标签: c# wpf cursor


    【解决方案1】:

    基于对 s.o. 的信息性回答。问题在这里:

    How do I get the current mouse screen coordinates in WPF?

    我认为更简单的方法是 windows.forms 方法,除非您的 3d 图形正在更新大量计算并且您不希望额外的 .net 未装箱循环性能裕度受到影响。根据这个msdn参考:

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

    Cursor.Position 属性是可设置的,因此应该可以从 WPF 应用程序设置,尽管您希望在提交大量代码之前进行一些研究和测试

    【讨论】:

    • 问题是,当我打印光标的位置时,它在屏幕最顶端的位置是 Y=101 而不是 0...我不明白。
    • 这可能发生在两个显示器顶部不完全相邻的双屏情况下
    • 我确实用的是双屏,而且我的两台显示器完全相邻(两台显示器都是一样的)。
    • 我不了解 WPF,可能是工具栏或任务栏之类的东西导致了偏移
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多