CSharp - 在 C#的多顯示器設置中,獲得真正的主屏幕?

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

我有一個使用multimonitors的C# Windows 應用程序。 應用程序有一個主窗體,必須顯示在主顯示器以及需要在第二屏幕上顯示的全屏窗格。 這是我分配屏幕的方法: 我在屏幕上設置了 Screen.AllScreens[0],因為我將主屏幕設置為屏幕 1,因為我將主屏幕設置為屏幕。

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

更新:我在 Screen.AllScreens[x] 之前使用了屬性 Screen.PrimaryScreen,但這個屬性也給了我一些監視器配置,我真的不記得。

时间: 原作者:

注意在 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

原作者:
...