Как программно определить размер моего рабочего стола? - PullRequest
4 голосов
/ 23 июня 2010

Я пытаюсь сохранить / восстановить размер окна, состояние и положение System::Windows::Forms::Form и хочу убедиться, что если окно ранее было на другом мониторе и приложение запускается, когда доступен только монитор snogle, что он помещает себя куда-то на экран.

Так, как я могу определить текущий размер рабочего стола и выходит ли мое приложение за пределы?

Ответы [ 2 ]

4 голосов
/ 23 июня 2010

На самом деле, лучшим решением было бы использование собственных методов GetWindowPlacement и SetWindowPlacement в user32.dll.Они автоматически обрабатывают все крайние случаи.

Пример реализации WPF с их использованием можно найти по адресу http://jake.ginnivan.net/2010/04/remembering-wpf-windows-position-2/ С этого момента вы можете сделать то же самое для WinForms.

3 голосов
/ 23 июня 2010

Вы смотрели на Экран класс?

Свойство Screen.WorkingArea даст вам размер рабочего стола вашего дисплея.

...