我有两个表单: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()。
请解释一下。感谢。
答案 0 :(得分:1)
您必须在.Dispose()
之后立即在Form1中的代码中手动调用.ShowDialog()
。