【发布时间】:2012-07-26 21:42:30
【问题描述】:
我知道您应该始终在模态表单上调用 dispose。不过,我有一个相关的问题。
如果我的应用程序中有一个方法,例如
Private Sub tempMethod
Dim expForm as new ExplorerForm(tempDataTable)
expForm.ShowDialog
'Should I call dispose here?
'or would the form be automatically disposed when it goes out of scope
'after this method exits?
End Sub
【问题讨论】:
-
"但是,如果您使用 form1.ShowDialog() 以模态方式显示表单,则该表单将不会被释放,您需要自己调用 form1.Dispose()。我相信这是您唯一需要担心自己处理表单的时候。” stackoverflow.com/a/3097383/284240
-
@TimSchmelter - 这个问题回答了这个问题,但不是重复的,所以这不太可能作为一个骗局被关闭......我会说你应该把它作为答案而不是发布一条评论。你会得到我的投票。
-
@TimSchmelter - 我认为这不能回答 OP 问题。 OP 知道应该手动调用 Dispose,OP 只是想知道如果表单在方法结束时超出范围,是否会发生这种情况。
-
@ChrisDunaway:我首先评论了它,因为我不确定它是否会回答甚至可以提供帮助,但它肯定是相关的。然后我回答了该评论(+
using-statement提示你)并获得 2 票反对。所以现在我保留它作为评论,它可能会在未来帮助某人;)
标签: vb.net