C#:包含OpenFileDialog的表单。两者都调用ShowDialog()。内存泄漏?

时间:2013-03-08 11:59:21

标签: winforms memory-leaks

我有一个包含通过Visual Studio设计器添加的OpenFileDialog的表单。我使用以下模式显示表单:

using (var form = MyForm()) {
    form.ShowDialog();
}

然后在我打电话的表格中

myOpenFileDialog.ShowModal();

因为OpenFileDialog是通过设计器添加的,所以我不能使用上面的使用模式。此外,在Designer.cs文件中,它似乎不是

myOpenFileDialog.Dispose();

被调用。我这里有内存泄漏吗?

1 个答案:

答案 0 :(得分:0)

没有泄漏,但GC运行或应用程序停止时将处理OpenFileDialog。您可以通过在Visual Studio中为System.ComponentModel.Component.Dispose添加一个功能断点来验证这一点,因为OpenFileDialog来自Component

因此,当您不再需要它时,我认为自己处理它会更好。