zoukankan      html  css  js  c++  java
  • C# Form.Close 的释放问题

    今天使用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 来将窗体的所有控件都标记为需要进行垃圾回收。

  • 相关阅读:
    Python中的memoryview
    Python常见陷阱
    特殊方法 之 len __repr__ __str__
    collections模块
    使用math中的hypot实现向量
    Ellipsis对象
    array
    标准库heapq的使用
    Mysql常用命令
    使用npm查看安装的包
  • 原文地址:https://www.cnblogs.com/rainchao/p/4876855.html
Copyright © 2011-2022 走看看