2
我有一個簡單的Windows窗體,在運行時託管屬性控件。當用戶點擊Close [X]時,我想讓窗口及其內容保持活動狀態,而不是通過處理FormClosing事件來取消它,取消事件並隱藏表單。在FormClosing事件被覆蓋隱藏而不是關閉後更好的方式來終止表單?
這很好,但在應用程序結束時我需要關閉窗口。我實施了下面,但它感覺kludgey。 有沒有更簡單,更聰明的方式來處理這種情況?(表單的控制器調用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
好問題,我也遇到過一個問題。如果你有類似Messenger的東西,當你按下X時,它會最小化而不是退出,例如,當你試圖關閉你的計算機時,Windows有效地按下你的應用程序本身的X來優雅地關閉它,這會使它最小化比退出。我一直無法找出區分用戶點擊X和Windows的方法,並且很想知道。 – NibblyPig 2010-04-12 13:32:54