C #: добавить вкладку TabControl по имени - PullRequest
0 голосов
/ 12 сентября 2011

У меня есть форма с TabControl. Я могу добавить Tab, выполнив:

TabControl.TabPages.Add(TabPage)

TabPage - это название одной из моих вкладок.

Я бы хотел сделать

TabControl.TabPages.Add("TabPage")

Где TabPage - объект String.

Как мне этого добиться?

Ответы [ 4 ]

1 голос
/ 07 ноября 2012

Steps

1- Выберите весь элемент управления Tab 2- В окне свойств (находится справа) -> вкладки -> нажмите (...). 3- После выполнения 1 и 2 вы увидите все вкладки ... затем вы можете изменить имя в тексте ..

Надеюсь, это поможет .. Привет

1 голос
/ 12 сентября 2011

Pardon? Вы не TabControl - это коллекция TabPage объектов. Вы можете дать TabPage имя, которое вы можете использовать для ссылки на него.

Так что, если вы хотите выбрать или удалить вкладку, вы можете сделать что-то вроде этого (пожалуйста, извините за неприятный код, измененный из моего приложения, мне пришлось записать его в блокноте-рефакторинге, чтобы упростить его):

private void ConfigureTabs()
{
    var config = GetConfig();

    foreach (TabPage tabPage in tabControl.TabPages)
    {
        if (config.IsTabVisible(tabPage.Name) == false)
        {
            tabControl.TabPages.Remove(tabPage);
        }
    }

    if (tabControl.TabPages.ContainsKey(config.DefaultTabName))
    {
        tabControl.SelectTab(config.DefaultTabName);
    }
}
0 голосов
/ 12 сентября 2011

Если вкладка, которую вы хотите добавить, отсутствует в какой-либо иерархии элементов управления, это невозможно.Однако, если вкладка находится где-то еще в форме, вы можете написать Extension Method , который найдет указанную вами TabPage и добавит ее в коллекцию TabControl TabControl.Примерно так:

public void AddEx(this TabCollection tabs, string name)
{
  var myTabPage = MyFindTabPageMethod(name);
  tabs.Add(myTabPage);    
}

Так что, если TabPage находится внутри какой-либо другой коллекции TabCollection и вы хотите «переместить» ее в другое место, то вышеприведенное должно работать:

Теперь вы можете сделать:

TabControl.TabPages.AddEx("TabPage");
0 голосов
/ 12 сентября 2011

Перейти к свойствам TabControl .. затем перейти к TabPages..Нажмите (коллекция) .. Теперь вы можете редактировать имя вкладки в поле TEXT.

...