Controls.Add(tabPage) vs. TabPages.Add(tabPage)

本文关键字:tabPage Add TabPages vs Controls | 更新日期: 2023-09-27 18:06:26

要在winform应用程序中创建一个新选项卡,我在msdn:

中找到了这个
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage tabPage1 = new TabPage(title);
tabControl1.TabPages.Add(tabPage1);

但是当我从Form1.cs[Design]中手动添加一个选项卡时,Visual Studio会自动在Form1.Designer.cs中创建一个新选项卡:

private System.Windows.Forms.TabPage tabPage1;
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabControl1.Controls.Add(this.tabPage1);

那么,tabControl1.Controls.Add(tabPage1)tabControl1.TabPages.Add(tabPage1);的主要区别是什么呢?

Controls.Add(tabPage) vs. TabPages.Add(tabPage)

没有区别。以下是TabPageCollection.Add方法的源代码:

public void Add(TabPage value) {
    if (value == null) {
        throw new ArgumentNullException("value");
    }
    owner.Controls.Add(value);
}

在上面的代码中,owner是拥有TabPageCollectionTabControl

使用TabPageCollection的好处在于它提供了5种不同的重载,可以向TabControl.

添加选项卡页