Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何删除标签页?_C#_.net - Fatal编程技术网

C# 如何删除标签页?

C# 如何删除标签页?,c#,.net,C#,.net,我有一个包含n个tabPages(WinForm poject)的TabControl 在某些时候,我想删除具有特定名称的选项卡页 如何以最佳的运行时复杂性实现它?您可以使用System.Linq查找具有所需名称的选项卡页。如果它存在,您可以删除它 var tabPage = tabControl1.TabPages.OfType<TabPage>() .FirstOrDefault(o => o.Name == "SpecificName"); if (tabPag

我有一个包含n个tabPages(WinForm poject)的TabControl

在某些时候,我想删除具有特定名称的选项卡页


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

您可以使用
System.Linq
查找具有所需名称的选项卡页。如果它存在,您可以删除它

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");