Домашняя страница Скрытие WinForms окна
Публикация
Отменить

Скрытие WinForms окна

Иногда при создание Windows Forms приложения требуется скрывать окно, когда пользователь его закрывает. Действие по умолчанию - это закрытие окна. При этом высвобождаются все ресурсы и доступ к данном окну после его закрытия приведет к ошибке.

Для того чтобы скрывать окно без его уничтожения нужно подписаться на событие FormClosing и написать там следующее:

1
2
3
4
5
private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)
{
    Hide();
    e.Cancel = true;
}

При закрытие пользователем окна оно будет сохранено в памяти и его можно будет повторно отобразить на экране.

Будьте внимательны, если это главное окно приложения, т.е. при его закрытии приложение продолжит работать и станет невидимо для пользователя. Тем не менее оно будет расходовать ресурсы системы.

Комментарии

mrdekk, 14 сент. 2011, 01:31

Есть еще один способ — установить свойство HideOnClose в true и эффект будет примерно таким же. В чем разница?

FiloXSee, 15 сент. 2011, 11:32

Разница в том, что свойства HideOnClose нет в System.Windows.Forms.Form. Ты путаешь с окнами, которые наследуются от класса DockContent сборки WeifenLuo.WinFormsUI.Docking.

mrdekk, 15 сент. 2011, 20:05

Хм, да действительно путаю.

Публикация защищена лицензией CC BY 4.0 .

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

Что такое TLS и как ее использовать?