我正在使用一个名为tabDocuments的TabControl的Windows窗体.我遇到了这段代码,它删除了TabControl中的所有页面.
for (int i = tabDocuments.TabPages.Count - 1; i > -1; i--) {
tabDocuments.TabPages[i].Dispose();
}
tabDocuments.TabPages.Clear();
编写此代码的人已经离开了一段时间.我试图理解为什么代码在处理每个tabPages后调用Clear()(看起来对我来说是不必要的).有人可以向我解释原因吗?或者调用Clear()额外?
解决方法:
此代码段来自Control.Dispose:
if (this.parent != null)
{
this.parent.Controls.Remove(this);
}
因此,您只需要调用Dispose,而不是Clear.