Как вы получаете состояние, в которое будет восстановлена ​​(.net) форма? - PullRequest
2 голосов
/ 25 сентября 2008

У меня есть приложение для Windows, и я хочу сохранить размер, положение и WindowState между сессиями. Однако есть одна оговорка. Если состояние при закрытии сведено к минимуму, то я хочу восстановить последнее видимое состояние, т. Е. Нормальное, если оно было нормальным, до того как оно было свернуто или развернуто, если оно было максимизировано.

Есть ли свойство, проверить, позвонить, сделать это?

Ответы [ 3 ]

2 голосов
/ 25 сентября 2008

Вы можете использовать настройки приложения (область действия пользователя), и когда в вашей форме вызывается событие Form_Closing, вы можете выбрать способ изменения настроек перед их сохранением с помощью Properties.Settings.Default.Save ();

2 голосов
/ 25 сентября 2008

Вот пример о сохранении формы и сохранении состояния окна между сеансами.

Что касается сохранения состояния до того, как окно было свернуто, вам нужно разобраться с этим, «запоминая» последние два состояния окна, нет такого свойства / события, которое могло бы сделать это за вас.

0 голосов
/ 25 сентября 2008

Вы можете «запомнить» восстановленную позицию перед минимизацией / максимизацией.

Вы можете восстановить окно перед сохранением позиции, недостатком которого является то, что ваше окно мигает перед закрытием.

Или вы можете вызвать функцию Win32 GetWindowPlacment через InterOp, она возвращает восстановленный прямоугольник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...