如何删除tabPages?

时间:2013-06-03 08:29:15

标签: c# .net

我有TabControl包含n tabPages(WinForm poject)。

在某些时候,我想删除具有特定名称的tabPages。

如何以最佳的运行时间复杂度实现它?

1 个答案:

答案 0 :(得分:2)

您可以使用System.Linq查找具有所需名称的tabPage。如果存在,您可以将其删除。

var tabPage = tabControl1.TabPages.OfType<TabPage>()
    .FirstOrDefault(o => o.Name == "SpecificName");

if (tabPage != null)
{
    tabControl1.TabPages.Remove(tabPage);
}

您可以创建extension method以简化

public static class TabControlExtender
{
    public static void Remove(this TabControl t, string name)
    {
        var tabPage = t.TabPages.OfType<TabPage>()
            .FirstOrDefault(o => o.Name == name);

        if (tabPage != null)
        {
            t.TabPages.Remove(tabPage);
        }
    }
}

用法:

tabControl1.Remove("SpecificName");