码迷,mamicode.com
首页 > Windows程序 > 详细

C# Form.Close 的释放问题

时间:2015-10-14 11:58:44      阅读:442      评论:0      收藏:0      [点我收藏+]

标签:

今天使用From窗口Close后,发现From的资源还存在,并没有释放资源,只有在程序关闭的时候才去释放。

Form1:button按钮 

private void button1_Click(object sender, EventArgs e)
{
  Form2 frm = new Form2();
  frm.ShowDialog();
}

 

Form2:

public Form2()
{
  InitializeComponent();
  Trace.WriteLine("From2 InitializeComponent");
}

~Form2()
{
  Trace.WriteLine("From2 dispose");
}

操作:From1点击按钮打开From2,然后关闭Form2,再打开Form2,关闭From2,最后关闭程序。看到的打印是

技术分享

说明Close 并没有释放资源,只有在程序退出的时候才自动释放

ps:在以下两种情况下调用 Close 不会释放窗体:(1) 窗体是多文档界面 (MDI) 应用程序的一部分且是不可见的;(2) 您是使用 ShowDialog 显示的该窗体。在这些情况下,需要手动调用 Dispose 来将窗体的所有控件都标记为需要进行垃圾回收。

C# Form.Close 的释放问题

标签:

原文地址:http://www.cnblogs.com/rainchao/p/4876855.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!