Как закрыть вкладку на вкладке по имени вкладки - PullRequest
2 голосов
/ 18 февраля 2012

В c # как уничтожить вкладку в элементе управления вкладками, указав ее имя?У меня есть вкладка под названием "Привет!"и я хотел бы закрыть это программно.Там нет никакой гарантии, что это будет выбранная вкладка в то время.

Ответы [ 2 ]

4 голосов
/ 18 февраля 2012

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

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

Например, если нужная вкладка называется «Hello!», вы должны написать:

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

Чтобы удалить TabPage из элемента управления, используйте метод RemoveByKey :

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

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

2 голосов
/ 18 февраля 2012

Вы можете попробовать что-то вроде этого:

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

Я предполагаю, что вы имели в виду "текст" TabPage, так как "Hello!"не может быть допустимым именем для элемента управления.

Примечание. Этот код будет содержать любую вкладку TabPage с надписью «Hello!»

...