Несколько мониторов в .NET - PullRequest
7 голосов
/ 07 марта 2011

Все ли дисплеи возвращаются из .NET Screen.AllScreens независимо от конфигурации оборудования?Например, на одном компьютере вы можете иметь:

  1. Видеоплата с двумя дисплеями = всего 2 дисплея
  2. Видеоплаты по 1 дисплею = всего 2 дисплея,
  3. Видеокарты на 2 дисплея = 6 дисплеев,
  4. Карта Eyefinity на 6 дисплеев (на дисплеях)

Во всех этих случаях, если я использую Screen.AllScreens могу ли я получить доступ к каждому дисплею индивидуально?

Кроме того, что если у меня карта в расширенном режиме, то есть 2 дисплея подключены к одной карте, но это всего лишь один большой рабочий стол (что я использую на работе)?Могу ли я указать контент, который будет отображаться на одном экране?

Ответы [ 3 ]

7 голосов
/ 07 марта 2011

Да, Windows не волнует, как экраны распределяются по видеоадаптерам.Он просто дает каждому экрану свои собственные координаты, в зависимости от того, как вы расположите их в апплете Display.Вы получаете окно для отображения на определенном, устанавливая его местоположение и размер, чтобы соответствовать внутри Screen.Bounds

1 голос
/ 07 марта 2011

В свойстве AllScreens будут перечислены те же мониторы, которые Windows показывает на панели управления. Например, если Eyefinity настроена как одна большая поверхность (SLS), она будет отображаться как одна запись в списке; если он настроен как 6 отдельных мониторов, в списке будет 6 записей.

1 голос
/ 07 марта 2011

Расширенный рабочий стол не влияет на количество экранов.

Можно с уверенностью предположить, что 1 экран на дисплей.Хотя некоторые устройства могут сообщать о неправильном количестве отображаемых данных, это очень редко.В таких случаях вы заметите на панели управления, что у вас все равно неправильный счет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...