Создание объектов на форме в цикле

Рейтинг: 0Ответов: 1Опубликовано: 20.01.2015

Есть tabControl, на нем мне нужно в цикле создать несколько tabPage:

int t = 0;
TabPage[] tabDia = new TabPage[5];

while (t < 5)
{
    tabDia[t] = new TabPage();
    DiaTabControl.Controls.Add(tabDia[t]);
    t++;
}

Вот если мне надо определенное кол-во tabPage[5] создать, то все ок, а если я не знаю, сколько именно мне нужно? Т.е. пока у меня while работает, я создаю вкладки в определенных итерациях.

Что мне написать вот здесь:

TabPage[] tabDia = new TabPage[5];

upd: что означает это: [5]? почему, я могу создать и 6 и 7 при такой записи? upd: в новом проекте все отработало корректно, лишний вкладки не создавались!

Ответы

▲ 1Принят

Функция, создающая вкладки:

void GenerateTabs(int count,TabControl tc)
        {
            int i = 0;
            while (i < count)
            {
                TabPage tp = new TabPage("Tab_"+i.ToString());
                tp.Name = "Tab_"+i.ToString();
                tp.Parent = tc;
                i++;
            }
        }

Использовать так:

GenerateTabs(5,tabControl1); //tabControl1 это родительский TabControl

Или опишите вопрос подробнее.