【问题标题】:Mouse position on extended displays扩展显示器上的鼠标位置
【发布时间】:2013-11-28 17:05:00
【问题描述】:

我在这个特定问题上找不到任何东西,所以就这样吧!

我有兴趣以编程方式更改鼠标光标的位置。

Cursor.Position = new Point(x, y);

使用单个显示器按预期工作。但是,当我插入第二个并选择扩展桌面时,更改光标的坐标仅相对于主屏幕有效。

那么,有谁知道如何告诉光标我想移动到另一个屏幕?

【问题讨论】:

  • 你可以尝试使用 Screen.AllScreens 数组
  • 这是一个有趣的方法,但我在 Screen 类中没有看到任何对我有帮助的东西。

标签: c# .net mouse multiple-monitors


【解决方案1】:

获取所需屏幕的宽度和高度并相对于它移动光标

int width=Screen.AllScreens[1].Bounds.Width;
int height=Screen.AllScreens[1].Bounds.Height;
Cursor.Position=new Point(width-x,height-y);

【讨论】:

  • 这并不完全正确。我必须得到 Bounds 的 X 和 Y 坐标,但它确实帮助我解决了问题。我没有意识到另一个监视器只是将坐标系扩展到 X 轴上的负值。
猜你喜欢
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多