Как программно добавить вкладку в форму во время выполнения? - PullRequest
0 голосов
/ 02 мая 2011

Я гуглил это и до сих пор не могу заставить его работать.Я знаю, как добавить вкладку с помощью панели инструментов.Я также читал о том, как сделать это программно, но я все еще не понимаю.(MSVC # Express 2010)

У меня простой проект.Просто форма Windows с TabControl в нем, я использовал конструктор для добавления нового TabControl и сделал этот TabControl общедоступным, а не приватным.

Я написал этот код для: а) доступа к форме Windows б) добавления вкладки.

Код компилируется просто отлично, но вкладка не отображается во время выполнения.

static class Program
{
    [STAThread]
    static void Main()
    {
        Application.SetCompatibleTextRenderingDefault(false);
        Application.EnableVisualStyles();
        Form1 ApplicationMainForm = new Form1();
        Application.Run(ApplicationMainForm); //LABEL B

        ApplicationMainForm.tabControl1.TabPages.Add("MyPage"); //LABEL A
    }
}

Как я могу получить форму для отображения моей вкладки?Моя вкладка отображается, когда линии A и B меняют положение.Я пропустил метод обновления, oder, Tab Tabage Add никогда не вызывается, пока приложение не закроется?

Правка # 1: Некоторые незначительные правки.Редактировать # 2: отредактировано в еще несколько примеров кода.Редактировать # 3: Удалены некоторые ранее / несоответствующие пункты.Редактировать # 4: нашел подсказку и отредактировал эту информацию в

Ответы [ 2 ]

1 голос
/ 02 мая 2011
Form1.tabControl1.Controls.Add(myNewTabItem);

Элемент управления вкладками представляет собой набор страниц вкладок, поэтому вы добавляете страницы вкладок так же, как добавляете любой элемент управления в коллекцию. Обратите внимание, что вкладки отображаются в порядке их добавления.

0 голосов
/ 02 мая 2011

Если вы пытаетесь добавить вкладку в форму во время выполнения, возможно, проблема в том, что вы пытаетесь настроить определение формы вместо конкретного экземпляра той формы, которую вы отображаете в данный момент. Когда форма открыта, это экземпляр определения формы. Вы должны найти этот экземпляр, чтобы изменить его свойства. Следовательно, вам нужно, чтобы другая часть вашей программы каким-то образом узнала об этом конкретном экземпляре вашей формы через что-то вроде ссылочной переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...