Как найти разрешение экрана, в котором сейчас находится моя форма? - PullRequest
1 голос
/ 02 февраля 2012

Я знаю, что могу легко найти разрешение экрана основного экрана, но я хочу найти разрешение экрана, на котором сейчас находится моя форма (это не то же самое в моей настройке, у меня есть три экрана с двумя разными резолюции)

Я ценю, что форма может занимать более одного экрана, поэтому я был бы рад найти экран, который содержит большую часть формы / левый верхний угол

Есть ли простой способ сделать это?

Я могу перечислить экраны, но потом решить, где находится моя форма, это сложно:

    For Each scr As Screen In Screen.AllScreens
        If Me.Left > scr.WorkingArea.Left AndAlso Me.Left < (scr.WorkingArea.Left + scr.WorkingArea.Width) Then 'etc

        End If
    Next

1 Ответ

2 голосов
/ 02 февраля 2012

Я могу перечислить экраны, но потом решить, где находится моя форма, это сложно

.Net предоставляет встроенный метод для этого

Взятьвзгляд на Screen.FromControl

Возвращаемое значение

Тип: System.Windows.Forms.Screen Экран для отображения, который содержит наибольшую областьуказанный контроль.В средах с несколькими дисплеями, где ни один дисплей не содержит элемент управления, возвращается дисплей, ближайший к указанному элементу управления.

...