CSharp - 在 C#的多显示器设置中,获得真正的主屏幕?

  显示原文与译文双语对照的内容
0 0

我有一个使用multimonitors的C# Windows 应用程序。 应用程序有一个主窗体,必须显示在主显示器以及需要在第二屏幕上显示的全屏窗格。 这是我分配屏幕的方法: 我在屏幕上设置了 Screen.AllScreens[0],因为我将主屏幕设置为屏幕 1,因为我将主屏幕设置为屏幕。

可以更好地使用 Screen.AllScreens[0].Bounds.X == 0 作为检查屏幕 0是否为主屏幕的方法?

更新:我在 Screen.AllScreens[x] 之前使用了属性 Screen.PrimaryScreen,但这个属性也给了我一些监视器配置,我真的不记得。

时间: 原作者:

0 0

注意在 Windows 中,可以将主/次显示移动到任何位置( 我花了数年的时间在初级显示器上),因此检查边界是无用的。

注意,Screen 类有一个 Primary 属性来检查给定屏幕是否为主屏幕。 所以你可以


secondaryScreen = Screen.AllScreens
. Where(s => s.Primary == false)
. Single();//Note: this will throw an exception if there isn't a secondary screen, or more than one.

。或者 PrimaryScreen static 属性以直接获取主 Screen

原作者:
...