s yu Ответов: 1

Отображение формы на расширенном экране


Я хочу отобразить форму на расширенном мониторе. Ниже приведен мой код после нажатия кнопки:
primaryDisplay = Screen.AllScreens.ElementAtOrDefault(0);
extendedDisplay = Screen.AllScreens.FirstOrDefault(s => !s.Equals(primaryDisplay)) ?? primaryDisplay;
this.StartPosition = FormStartPosition.Manual;
this.Location = extendedDisplay.Bounds.Location;
this.Show();

Однако форма по-прежнему отображается на основной. Что не так в моем коде? Спасибо.

Что я уже пробовал:

Отображение формы на расширенном экране не удалось

1 Ответов

Рейтинг:
9

OriginalGriff

Порядок, в котором возвращаются экраны, нигде не определен, я вижу: вам нужно проверить Экран.Первичное Свойство (System.Окна.Формы)[^] вместо того, чтобы полагаться на первое в коллекции:

primaryDisplay = Screen.AllScreens.FirstOrDefault(s => s.Primary);
extendedDisplay = Screen.AllScreens.FirstOrDefault(s => !s.Primary) ?? primaryDisplay;
StartPosition = FormStartPosition.Manual;
Location = extendedDisplay.Bounds.Location;
Show();


s yu

Решается в соответствии с вашим решением. Спасибо.

OriginalGriff

Пожалуйста!