我有一个WinForms TabControl,我在运行时动态添加TabPages。每个TabPage都包含一个WebBrowser控件。我还可以在运行时删除TabPages。
我应该打扰Dispose()TabPage和/或WebBrowser控件吗?
在我看来,我至少应该使用Dispose()WebBrowser控件,因为它有点资源耗尽。
答案 0 :(得分:2)
你分配的所有实现IDisposable的东西都应该调用Dispose。这就是实现IDisposable的目的。
答案 1 :(得分:2)
删除标签页时,应该将其设置为()。这将自动处理所有子控件。
有关详细信息,请参阅Control.Dispose文档:
释放Control及其子控件使用的非托管资源,并可选择释放托管资源。
标签页的处理也将为您处理所有子控件。
答案 2 :(得分:1)
如果明确调用Dispose(),通常会比不这样做更快地清除它。如果您担心资源,或者您的对象持有可能稀缺或需求量很大的其他资源,那么明确调用Dispose()总是一个好主意。
我总是推荐这篇CodeProject文章来帮助人们正确理解Dispose模式,以及Dispose的全部内容。 http://www.codeproject.com/KB/cs/idisposable.aspx