У меня есть приложение WPF и вы хотите вывести границы и рабочие области мониторов, которые у меня есть. Код выглядит следующим образом:
foreach (var screen in Screen.AllScreens.ToList().OrderByDescending(s => s.Primary)) // Primary Screen comes first
{
Console.WriteLine("Device: " + screen.DeviceName);
Console.WriteLine("Bounds : " + screen.Bounds);
Console.WriteLine("Working Area: " + screen.WorkingArea);
}
DISPLAY1 - мой основной экран, а DISPLAY2 - мой вторичный. Оба имеют такое же разрешение: 1920 x 1080.
Странно, что этот код дает следующий результат:
Устройство: \.\DISPLAY1 Границы: {X = 0, Y = 0, Ширина = 1920, Высота = 1080} Рабочая область: {X = 0, Y = 0, Ширина = 1920, Высота = 1046}
Device: \.\DISPLAY2 Bounds: {X = 2400, Y = 0, ширина = 2400, высота = 1350} Рабочая область: {X = 2400, Y = 0, ширина = 2400, высота = 1308}
Я также изменил использование Screen.AllScreens с классом Monitor, представленным по адресу: http://wpftutorial.net/ScreenResolutions.html, но это все равно возвращает те же значения. Кто-нибудь когда-либо сталкивался с этой проблемой?
благодаря
Джозеф
Похоже, у вас на обоих экранах установлен другой DPI.