2012-02-17 2 views
2

В C# как я могу уничтожить вкладку в элементе управления табуляции, указав его имя? У меня есть вкладка с именем «Привет!». и я хотел бы закрыть его программно. Там нет гарантии, что это будет выбранная вкладка в то время.Как закрыть вкладку tabcontrol по имени вкладки

ответ

4

Класс TabControl содержит TabPages property, который возвращает TabPageCollection, содержащий все TabPages в элементе управления.

Таким образом, вы можете использовать Item property для извлечения TabPage с указанным именем.

Например, если страница вкладки вы хотите называется "Hello!", Можно было бы написать:

var tabPage = myTabControl.TabPages["Hello!"]; 

Чтобы удалить TabPage из-под контроля, используйте RemoveByKey method:

myTabControl.TabPages.RemoveByKey("Hello!"); 

Конечно, для того, чтобы это сработало, вам нужно убедиться, что вы установили ключи своего TabPage s в соответствие с отображаемым текстом субтитров.

+0

, что было быстро, избили меня! – sambomartin

+0

Спасибо Коди! Глядя на ответ LarsTech, должен ли я распоряжаться им, а не удалять его ради памяти? – atwellpub

+0

@atw Я бы сделал то и другое, просто чтобы быть в безопасности. Сначала удалите его, затем утилизируйте. Но вы можете просто избавиться от него (ссылка [http://stackoverflow.com/questions/1757116/remove-tabpage-dispose-or-clear-or-both)). –

2

Вы можете попробовать что-то вроде этого: «Здравствуйте!»

for (int i = tabControl1.TabPages.Count - 1; i >= 0; i--) { 
    if (tabControl1.TabPages[i].Text == "Hello!") 
    tabControl1.TabPages[i].Dispose(); 
} 

Я предполагаю, что вы имели в виду «Текст» в TabPage, так как не будет действительным именем для элемента управления.

Примечание: в этом коде будет храниться любая вкладка, в которой говорится: «Привет!».

+0

Утилизирует вкладку, пока она еще добавлена ​​в tabcontrol - хорошая идея? – Blorgbeard

+0

@Blorgbeard Я не думаю, что есть какая-то опасность. Удаление этого не избавляет от него, и ОП сказал, что хочет, чтобы он «уничтожился». – LarsTech

+0

Удалите затем утилиту. Думаю – sambomartin

 Смежные вопросы

  • Нет связанных вопросов^_^