C# dispose - 这就是我所需要的吗?

问题描述

我有一个包含约 20 个表单的 C# Windows 应用程序。每个表单都有自己的变量和图形元素(钢笔、矩形、线条......)。当用户关闭我正在使用的表单时

this.dispose();

这是我处理关闭所需要做的全部还是我需要添加更多内容

解决方法

显示为 ShowDialog 的表单必须被处理(使用 using 或手动调用 Dispose)。这已经足够了,您不必再做任何事情了。

显示为 Show 的表单是由 .Net Framework 自动处理的(当执行 Close 方法时),您不应手动处理它。

,
using(var frm = new Form1())
   frm.ShowDialog();

不要只在 Dispose() 块之外调用 finally,因为这可能会在抛出异常时失败

,

用于打开新表单; (此代码不适用于主窗体)

Form1 frm = new Form1();
frm.ShowDialog();
frm.Dispose();

用于关闭打开的表单;

this.Close();

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...