2013-02-10 5 views
0
private void referenceDesk_DoubleClick(object sender, EventArgs e) 
{ 
    tabControl1.TabPages.Add(new TabPage("Donkey Kong")); 
} 

нет команды типа tabControl1.Modifier использовать, а также не может использоватьКак вы устанавливаете модификатор элемента управления во время выполнения?

new public TabPage(""); 
+0

Что вы хотите достичь? – abatishchev

+0

tabControl1 уже настроен на общественность Мне бы хотелось, чтобы любая страница добавлена ​​tControl1.TabPages [index], которая также должна быть общедоступной – yumyum

+0

Создана ли tabControl1 с конструктором форм и вы хотите изменить ее модификатор? – abatishchev

ответ

1

Modifiers свойство design-time, управляет созданием элемента для объекта, который вы изменяете. Это не то, что вы можете изменить позже. Если вы хотите добавить вкладки в элемент управления вкладкой, и вы захотите изменить их позже, определите для них класс и назначьте им соответствующий модификатор доступа:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private List<TabPage> tabPages; 

    private void referenceDesk_DoubleClick(object sender, EventArgs e) 
    { 
     tabPages = new List<TabPage>(); 
     tabPages.Add(new TabPage("First")); 
     tabPages.Add(new TabPage("Second")); 
     foreach (var tab in tabPages) 
      tabControl1.TabPages.Add(tab); 
    } 

    .... 
} 
+0

Должно быть сделано в списке формате? Возможно ли это? – yumyum

+0

Почему бы и нет? Modified. –

+0

возможно, нужно использовать динамическое ключевое слово? Это бессрочное количество страниц .. поэтому их нужно создавать во время выполнения. @ MD.Unicorn личный список вкладки будут применяться к каждой странице отдельно. – yumyum

0

конструктор код не должен быть изменен пользователем, так как он получает переписан Visual Studio каждый раз вы вносите изменения в свою форму в дизайнере (как вы обнаружили).

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

+0

вне темы. Есть элементы управления, добавленные к нему, для чего нужно установить публичный модификатор, как вы это достигаете на новых вкладках, которые добавляются? – yumyum

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