处置MDI子表单

时间:2012-10-18 16:05:22

标签: winforms garbage-collection dispose mdi

根据msdn

  

表单未在关闭时处理的两个条件是(1)它   是多文档界面(MDI)应用程序的一部分,而且是   形式不可见; (2)您已使用表格显示   ShowDialog的。在这些情况下,您需要手动调用Dispose   标记所有表单的垃圾收集控件。

第一种情况如何解决这个问题?如果我手动处理表单的this.dispose()并在dispose中设置断点(在表单的设计器文件中找到),则永远不会到达断点。

1 个答案:

答案 0 :(得分:3)

首先不要隐藏MDI子窗口,没有什么意义。如果你真的需要隐藏它们,那么调用它们的Dispose()方法而不是它们的Close()方法。如果没有隐藏,Dispose()也会关闭窗口。