У меня есть простая форма Windows, которая содержит элементы управления свойствами во время выполнения. Когда пользователь нажимает кнопку Закрыть [X], я хочу сохранить окно и его содержимое живым, а не убивать его, обрабатывая событие FormClosing, отменяя событие и просто скрывая форму.
Хорошо, но при закрытии приложения мне нужно закрыть окно. Я реализовал ниже, но это чувствуется клуджи. Есть ли более простой и умный способ справиться с этой ситуацией? (Контроллер формы вызывает KillForm явно после получения события закрытия из главного окна.)
Friend Class HostForm
Private _hideInsteadOfClosing As Boolean = True
Private Sub HostForm_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) _
Handles Me.FormClosing
If _hideInsteadOfClosing Then
Me.Hide()
e.Cancel = True
End If
End Sub
Public Sub KillForm()
_hideInsteadOfClosing = False
Me.Close()
End Sub
End Class