我们假设我有两种形式:FormA
和FormB
。在FormA
按钮上单击FormB
的实例已创建并显示。
关闭后如何正确Dispose()
FormB
个实例?
更准确地说,我们假设这是创建表单的代码:
public void Settings(object sender, EventArgs e)
{
if (_settings == null)
_settings = new Settings(_repositoryCollection, _config, this);
_settings.Show();
_settings.Focus();
}
答案 0 :(得分:3)
如果需要模态对话框,请使用
using (var settings = new Settings(_repositoryCollection, _config, this))
{
settings.ShowDialog ();
}
否则,对于与FormA同时显示的正常表格...您甚至可能不必。见post。:
_settings = new Settings(_repositoryCollection, _config, this);
_settings.Closed += delegate {_settings.Dispose ();};