2014-04-07 26 views
1

У меня есть форма C#, в которой есть Groupbox. Пользователь должен ввести любое желаемое число (целое число), и когда пользователь нажимает «ДОБАВИТЬ», поле группы должно быть дублировано и вставлено в той же форме на основе номера введенного пользователя. Как создать точную копию GroupBox и вставить ее в ту же форму? См. Прилагаемый скриншот.Как клонировать элемент управления Windows Forms

enter image description here

Любая помощь будет оценена. Благодаря

Я использовал код Sriram, но форма только добавляет 2 Groupbox:

private void button1_Click(object sender, EventArgs e) 
    { 

     int containers = 0; 
     int.TryParse(textBox1.Text, out containers); 

     for (int i = 0; i < containers; i++) 
     { 
      flowLayoutPanel1.Controls.Add(groupBox1); 
     } 
    } 
+0

Итак, когда пользовательские нажатия добавляют, вам нужно показать два групповых ящика с одинаковыми значениями? –

+0

@SriramSakthivel Да, сэр. Если пользователь вводит 5 в число контейнеров и нажимает «ADD», количество групповых ящиков, расширенных в форме, должно быть 5 – jpineds

ответ

1

Я предлагаю вам создать пользовательский элемент управления, который имеет GroupBox вы показанные с дочерними элементами управления.

Назовем его MyUserControl, поэтому при создании экземпляра MyUserControl вы получаете все элементы управления с групповым ящиком.

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

void addButton_Click(object sender, EventArgs e) 
{ 
    int contaniners = 0; 
    int.TryParse(txtContainers.Text, out contaniners); 

    for (int i = 0; i < contaniners; i++) 
    { 
     flowLayoutPanel.Controls.Add(new MyUserControl()); 
    } 
} 
+0

Привет, сэр, как создать пользовательский элемент управления? – jpineds

+0

Посмотрите, если [this] (http://stackoverflow.com/questions/3388333/how-to-use-usercontrol-in-window-forms-programming-c-sharp) помогает –

+0

Я использовал код, который вы указали. Когда я нажимаю «Добавить», независимо от введенного числа, форма добавляет только 1 групповой пакет в потокLayoutPanel. Как так? Спасибо – jpineds

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