C # создание вкладки, добавление элементов управления на вкладку, а затем наличие нескольких вкладок этого типа - PullRequest
1 голос
/ 06 апреля 2009
TabPage newpage = new TabPage();
Tabs.TabPages.Add(newpage);
newpage.Controls.Add(this.tableLayoutPanel41);
newpage.Location = new System.Drawing.Point(4, 26);
newpage.Name = "AddMaintAgreement" + offset;
newpage.Size = new System.Drawing.Size(736, 523);
newpage.TabIndex = 10;
newpage.Text = "Add Maintenance Agreement";
newpage.UseVisualStyleBackColor = true;
offset++;

В основном это то, что у меня есть в данный момент, я добавил туда смещение, потому что я думал, что это может повлиять на мою проблему.

По сути, этот код работает нормально для добавления одной вкладки "addmaintagreement". После этого только последняя вкладка имеет какие-либо элементы управления!

В основном я в тупике. Любая помощь будет оценена. Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 февраля 2013

Я думаю, что короткий пример должен остаться здесь:

        TextBox tmpLog = new TextBox(); // create new control of textbox type
        tmpLog.Text = "some text here";

        TabPage tb = new TabPage("my brand new tab"); //create tab
        tabControl.TabPages.Add(tb); // add tab to existed TabControl
        tb.Controls.Add(tmpLog); // add textBox to new tab

        tabControl.SelectedTab = tb;     // activate tab
1 голос
/ 06 апреля 2009

Получите из TabPage и добавьте нужные элементы управления в этот производный класс. Затем используйте ваш производный класс вместо TabPage.

0 голосов
/ 06 апреля 2009

Элементы управления могут быть связаны только с одним элементом управления, но похоже, что вы пытаетесь создать родительский элемент для tableLayoutPanel41 в каждом TabPage экземпляре. Вам необходимо создать новые копии элементов управления для каждого экземпляра вкладки. Есть несколько способов исправить это.

  1. Программно создавайте вкладку и ее содержимое несколько раз.
  2. Реализуйте содержимое вашего TabPage как пользовательский элемент управления, который вы заполняете на вкладке. Затем воссоздайте один из них для каждой страницы, дублируйте ваши требования.
  3. Создайте класс, производный от TabPage, который реализует вашу вкладку и создайте новые экземпляры этого для каждого использования.
...