c# – 删除TabPage:Dispose或Clear或两者兼而有之?

我正在使用一个名为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.

上一篇:c# – 向TabControl容器动态添加选项卡


下一篇:极客时间《设计模式之美》笔记---状态模式