2016-04-05 66 views
1

使用C#和WinForms,我有一個按鈕點擊調用各種形式基本菜單:我是否需要調用Form.Close(),還是爲我處理?

private void Some_Button_Click(object sender, EventArgs e) 
     { 
      var someForm = new SomeForm(); 

      someForm.MdiParent = MenuForm; 
      someForm.Show(); 
      someForm.BringToFront(); 
     } 

我擔心的是內存使用率。當用戶點擊「x」關閉窗體時,窗口關閉時是否已調用Form.Close()?或者,我是否需要創建一個事件才能明確調用Form.Close()

+2

不,你不知道。除非通過代碼手動關閉'Form',否則不需要調用Form.Close()。 – EvilTak

+0

以傳統的.NET方式,類的Close()方法調用Dispose()。這也適用於Form類。在某些情況下,您需要調用Dispose(),當您使用ShowDialog()而不是Show()時需要。它不能是自動的,因爲通常在ShowDialog()調用之後獲得對話結果。並正確使用* using *語句完成。這裏不是這種情況。 –

回答

2

當用戶點擊「x」關閉窗體時,窗口關閉時是否已調用Form.Close()

不,FormClosing事件被觸發。 Form.Close告訴系統關閉表單(在這種情況下也會觸發FormClosing事件)。

Close指令FormClosing在響應命令時被稱爲

+0

對我來說夠好。非常感謝! – Kiel

相關問題