Поделиться через


Пример сохранения состояния и расположения окна

Обновлен: Ноябрь 2007

В этом примере описывается способ сохранения размера, расположения и состояния окна Window чтобы гарантировать, что окно Window открывалось в том же расположении, в каком оно было закрыто. Кроме того, в этом примере рассматривается возможность сохранения информации о расположении окон на нескольких мониторах.

В этом примере демонстрируется конкретная функциональная возможность Windows Presentation Foundation, и поэтому рекомендации по разработке приложений не соблюдаются. Более полное рассмотрение Windows Presentation Foundation (WPF) и рекомендации по тактике разработки приложений Microsoft .NET Framework см. в следующих разделах:

Специальные возможности: Рекомендации по специальным возможностям

Локализация: Общие сведения о глобализации и локализации WPF

Производительность: Улучшение производительности приложений WPF

Безопасность: Безопасность Windows Presentation Foundation

Download sample

Построение примера

  • Установите пакет средств разработки программного обеспечения для Windows и откройте окно командной строки среды его построения. В меню "Пуск" выделите пункты "Все программы", "Пакет SDK для Microsoft Windows", а затем "Оболочки CMD".

  • Загрузите образец, как правило из документации пакета SDK, на жесткий диск.

  • Чтобы построить образец из окна командной строки среды построения, перейдите в исходный каталог образца. В командной строке введите MSBUILD.

  • Чтобы построить образец в Microsoft Visual Studio, загрузите решение образца или файл проекта и нажмите сочетание клавиш CTRL + SHIFT + B.

Выполнение примера

  • Для запуска скомпилированного образца в окне командной строки среды построения, выполните EXE-файл в папке Bin\Debug или Bin\Release, содержащихся в папке кода источника образца.

  • Для запуска скомпилированного образца с помощью отладки в Visual Studio, нажмите клавишу F5.

Примечания

В этом примере описывается сохранение размера, расположения и состояния окна Window, чтобы гарантировать открытие окна Window в том же месте, где оно было закрыто. Кроме того, в этом примере рассматривается поддержка нескольких мониторов, т.е. если монитор, на котором было закрыто окно Window, отключен, то окно Window показывается на другом присоединенном мониторе.

Требуются следующие структуры и функции API-интерфейсы Win32 (из User32.dll):

WINDOWPLACEMENT: для хранения размеров, расположения и состояния окна (см. описание структуры WINDOWPLACEMENT).

GetWindowPlacement: для извлечения данных WINDOWPLACEMENT текущего окна перед его закрытием (см. описание функции GetWindowPlacement).

SetWindowPlacement: для восстановления данных WINDOWPLACEMENT при открытии окна (см. описание функции SetWindowPlacement).

Структура WINDOWPLACEMENT физически хранится на диске с помощью поддержки Microsoft .NET Framework для строго типизированных параметров приложения (см. раздел Общие сведения о параметрах приложения).

См. также

Ссылки

Window