none
模式对话框的资源如何释放 RRS feed

  • 问题

  • 普通的窗体在关闭时,会自动调用其Dispose()方法以释放其所使用的系统资源。但是当窗体以“模式对话框”的形式打开后,再关闭它时,系统不会自动调用其Dispose()方法,我想请问关闭模式对话框后,其使用的系统资源是通过什么机制进行释放的!

    预先感谢您宝贵的解答!

     


    Spark
    2011年4月21日 13:21

答案

全部回复

  • 有模式对话框通常创建在堆栈帧上,并在创建它们的函数结束时被销毁。当对象超出范围时,对话框对象的析构函数将被调用。

    http://msdn.microsoft.com/zh-cn/library/cc485504(v=VS.71).aspx

    • 已标记为答案 Spark Lee 2011年4月22日 0:45
    2011年4月21日 13:44
  • 自已顶一下,可以在显示模式对话框(Form1 f1= new Form1();  f1.ShowDialog();)语句之后,手动调用此窗体(Form1)的Close()方法(f2.Close();),此方法的执行会自动调用窗体的Dispose()方法,以释放窗体所使用系统资源。

    这种方法很像是可行的,但是我不是很确定,请问还有别的更好的解决方案吗?           


    Spark

     



    2011年4月21日 13:47
  • 感谢您的解答! 非常感谢!祝您好运!


    Spark
    2011年4月22日 0:44