我正在使用名为tabDocuments的TabControl的窗体。我遇到了这段代码,它删除了TabControl中的所有页面。删除TabPage:处置或清除或两者?
for (int i = tabDocuments.TabPages.Count - 1; i > -1; i--) {
tabDocuments.TabPages[i].Dispose();
}
tabDocuments.TabPages.Clear();
写这段代码的人已经离开了一段时间。我试图理解为什么代码在处理每个tabPages后调用Clear()(对我来说看起来不是必需的)。任何人都可以向我解释为什么?或者调用Clear()额外?
谢谢,你在哪找到Control.Dispose的片段? – David 2009-11-18 16:47:05
反射器 - http://www.red-gate.com/products/reflector/ – 2009-11-18 16:49:02
@Xaero,虽然,你是正确的控制从它的父母本身。你只是通过拆解组件才知道这一点。没有在该方法的公共文档中的哪个位置说明它将自己从其父项中移除。该功能可以在该框架的未来版本中更改。我知道调用程序集可以针对特定版本的.NET框架。但是,根据公共文档(即使不需要)调用该方法并不是更好的做法。 – rocka 2009-11-18 18:11:28