2010-06-23 3 views
4

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

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

+0

Возможный дубликат [C#: получить полный размер рабочего стола?] (Http://stackoverflow.com/questions/1317235/c-get-complete-desktop-size) –

ответ

4

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

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

+0

+ 1/Принято .. хотя к тому времени, когда я прочитайте это, я уже закатил свой собственный :-) –

3

Вы изучили класс Screen?

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