我有TabControl包含n tabPages(WinForm poject)。
在某些时候,我想删除具有特定名称的tabPages。
如何以最佳的运行时间复杂度实现它?
答案 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");