winforms 我想从我的C#项目的TabControl中移除几个标签页,我怎样才能用更短的方式来完成,而不是一个接一个地移除每个标签页?

gzjq41n4  于 2023-02-16  发布在  C#
关注(0)|答案(1)|浏览(164)

我有一个TabControl在我的C#窗体。根据程序步骤,我必须删除一个范围的选项卡programmaticaly。我这样做,目前在这种方式,但随着条件的变化,我必须删除选项卡页总是一个接一个。

tabControl1.TabPages.Remove(tabPage5);
tabControl1.TabPages.Remove(tabPage6);
tabControl1.TabPages.Remove(tabPage7);
// remove other tabs

我希望能够以更短的方式删除制表符,在一个类似这样的循环中:这里,我想用一个变量间接地写标签页(n),可以吗?

for(int n=start; n<=stop; n++)
{    
    tabControl1.TabPages.Remove(???)
}
zu0ti5jz

zu0ti5jz1#

是否可以将“tabpagex”定义为控件并动态定义控件名称?
当然,您可以使用Controls.Find(name, true)“按名称”搜索控件:

int start = 5;
int stop = 8;
for (int n = start; n <= stop; n++)
{
    TabPage tb = this.Controls.Find("tabPage" + n, true).FirstOrDefault() as TabPage;
    if (tb != null)
    {
        tabControl1.Controls.Remove(tb);
    }
}

相关问题