如何讓我的窗體不會關閉,而是在用戶單擊窗體上的「X」按鈕時隱藏?如何在窗體中單擊「X」,將不會關閉但隱藏它
因爲我有一個NotifyIcon,其中包含一個退出菜單,它實際上執行窗體關閉(我不希望窗體的「X」關閉窗體,但隱藏它)。
謝謝。
如何讓我的窗體不會關閉,而是在用戶單擊窗體上的「X」按鈕時隱藏?如何在窗體中單擊「X」,將不會關閉但隱藏它
因爲我有一個NotifyIcon,其中包含一個退出菜單,它實際上執行窗體關閉(我不希望窗體的「X」關閉窗體,但隱藏它)。
謝謝。
只需實施FormClosing事件。取消關閉並隱藏表單,除非它是由通知圖標的上下文菜單觸發的。例如:
Private CloseAllowed As Boolean
Protected Overrides Sub OnFormClosing(ByVal e As System.Windows.Forms.FormClosingEventArgs)
If Not CloseAllowed And e.CloseReason = CloseReason.UserClosing Then
Me.Hide()
e.Cancel = True
End If
MyBase.OnFormClosing(e)
End Sub
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
CloseAllowed = True
Me.Close()
End Sub
您需要處理Form.Closing事件並將e.Cancel設置爲true以停止表單關閉。要隱藏它,請撥打Hide方法。
Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
Me.Hide()
End Sub
接近重新分配的形式,而隱藏使其不可見,並保持狀態 – Jeremy 2010-07-14 18:35:52
是,上一個註釋去掉。我正在考慮DialogResult。 – 2010-07-14 18:38:30