2013-07-21 121 views
-3

我有两个选项卡,我知道(设计和图片)的名称,并且希望删除选项卡控件中的其他每个选项卡。 (我想删除所有的TabPages节选我知道的名字的人。)从选项卡控件中删除某些选项卡并在特定索引处添加选项卡C#

我已经在网上搜索,我发现:

string tabToRemove = "tabPageName"; 

for (int i = 0; i < tabControlMain.TabPages.Count; i++) 
{ 
    if (tabControlMain.TabPages[i].Name.Equals(tabToRemove, StringComparison.OrdinalIgnoreCase)) 
    { 
     tabControlMain.TabPages.RemoveAt(i); 
     break; 
    } 
} 

,但是这不是我要找的是我不知道我想删除的选项卡的字符串。我只知道两个人的名字。

+0

告诉我们你试过的东西 – FSou1

+0

MDSN选项卡控件http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.aspx – FSou1

+0

我不明白,你有两个选项卡一个tabcontrol,你想删除其他选项卡?这并没有什么意义。请在问一个问题时深入.. –

回答

1

我在这里假设了很多关于你的问题,但我想你想删除所有的标签除了你知道的名字。

如果是这种情况,那么您使用已知的标签页名称(拼写完整)来填充列表。
然后开始一个反向循环以删除不符合您要求的标题页。

List<string> pagesToKeep = new List<string>() {"Design", "Picture"}; 
for (int i = tabControlMain.TabPages.Count - 1; i>=0; i--) 
{ 
    string curName = tabControlMain.TabPages[i].Name; 
    if(!pagesToKeep.Contains(curName)) 
    { 
     tabControlMain.TabPages.RemoveAt(i); 
    } 
} 

,因为当你从集合中删除的项的元素变更总次数,你不能使用结束的条件安全反向环这里需要。

+0

您好,谢谢您的回复。这是一个很好的回复,虽然使用时,选项卡控件中的所有项目,甚至设计和图片选项卡都将被删除。是的,你是正确的,我想删除所有标签页,除了我知道的名称。 – user2442470

相关问题