2012-10-18 69 views
1

根據當未設置在關閉的形式來當(1)它 是多文檔界面的一部分(MDI)應用程序中的msdn處置MDI子形成

兩個條件,以及 窗體不可見; (2)你已經顯示在使用 ShowDialog的形式。在這些情況下,您將需要手動調用Dispose到 標記所有窗體的控件的垃圾收集。

我怎麼去這對於第一種情況?如果我手動配置,this.dispose()的形式,並設置處置中斷點(在窗體的設計文件中找到),斷點從未達到。

回答

3

開始通過不隱藏MDI子窗口,有小點。如果確實需要隱藏它們,則調用它們的Dispose()方法,而不是它們的Close()方法。如果未隱藏,則Dispose()也會關閉該窗口。

+0

要再次顯示形式,它被設置後,檢查形式的IsDisposed標誌,以避免錯誤「無法訪問名爲釋放對象」。這就是我所做的:'if(_form.IsDisposed)_form = new Form();' –