C#

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

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

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


private void MainWindow_FormClosing(object sender, FormClosingEventArgs e)
{
	Hide();
	e.Cancel = true;
}


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

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

Похожие записи




Комментарии (3) свернуть  |  развернуть

  • avatar
  • mrdekk
  • 13 сентября 2011, 22:31
0
Есть еще один способ — установить свойство HideOnClose в true и эффект будет примерно таким же. В чем разница?
0
Разница в том, что свойства HideOnClose нет в System.Windows.Forms.Form. Ты путаешь с окнами, которые наследуются от класса DockContent сборки WeifenLuo.WinFormsUI.Docking.
0
Хм, да действительно путаю.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.