2011-05-18 69 views
0

我有兩種窗體:Form1和Form2。 Form1是一個主窗體。我在Form1上創建一個按鈕來顯示Form2。 如果我將Form2顯示爲非模態形式(使用方法Show()),則在關閉它之後立即調用Dispose方法。 但是,如果我將Form2顯示爲模式窗體(使用方法ShowDialog()),則在關閉它的Dispose方法後不會調用它。它僅在關閉Form1(主窗體)並退出應用程序後調用。方法關閉它時不會調用模態窗體

//code Dispose method of Form2 
protected override void Dispose(bool disposing) 
     { 
      if (disposing && (components != null)) 
      { 
       components.Dispose(); 
      } 
      base.Dispose(disposing); 
     } 

注意:我使用Debug來捕獲Dispose方法。

如何在關閉模態窗體時立即調用Dispose()。

請解釋一下。謝謝。

回答

1

您必須在.ShowDialog()之後的Form1中的代碼中手動撥打.Dispose()

相關問題