1

我有包含 n tabPages(WinForm 项目)的 TabControl。

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

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

4

1 回答 1

2

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

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

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

您可以创建一个扩展方法以使其更简单

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");
于 2013-06-03T08:35:17.310 回答