【问题标题】:C# - Determine if application Spans multiple MonitorsC# - 确定应用程序是否跨越多个监视器
【发布时间】:2014-05-01 14:58:16
【问题描述】:

我想知道 C# 中是否有办法确定正在运行的应用程序窗口是使用单个监视器还是跨越多个监视器?

我知道我可以获得可用监视器的监视器计数,但不确定如何确定当前程序是否跨越多个监视器。有什么建议么?

【问题讨论】:

  • Somewhat related,也许你可以看看应用程序窗口大小,看看水平是否大于水平屏幕分辨率的一半?
  • 在 tnw 的基础上,您可以查看 application 的 left 值并将其添加到 width 以进行比较。
  • 我能想到的唯一方法是枚举监视器并检查 x,y,width,height 的关系。
  • 这个问题:stackoverflow.com/questions/4681738/… 可能有帮助
  • @Qwerty01 我也想到了,这会有点棘手,因为应用程序可能非常小,但它可以放在两个屏幕之间(如果只有两个屏幕) .

标签: c# window


【解决方案1】:

使用Screen.AllScreens 查找用户屏幕的位置,并根据窗口位置进行一些数学运算,可能使用Rectangle.Intersects

【讨论】:

  • 谢谢!我最终做的是获取应用程序窗口的 Rect 边界。然后做: System.Windows.Forms.Screen[] screen = System.Windows.Forms.Screen.AllScreens; for (int index = 0; index
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
相关资源
最近更新 更多