2013-07-21 120 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

相關問題