2015-04-17 6 views
0

Привет, моя проблема: я создаю GroupBoxs динамически и добавляю в groupboxs несколько элементов управления (в моем случае radioButtons). Я бы хотел, чтобы групповые поля были динамически распределены, чтобы отобразить все RadioButtons, которые я вставляю в них. Как я могу сделать? Это код:Как я могу динамически изменять размер groupBox, когда я добавляю в него новые элементы управления?

private void IdEnForm_Load(object sender, EventArgs e) 
    { 

     for (int i = 0; i < a.Count; i++) 
     { 

      for (int j = 0; j < a[i].Count; j++) 
      { 
       bool help; 
       if (j == 0) help = true; 
       else help = false; 


       if (help) 
       { 

        gb = new GroupBox(); 
        gb.Text = " which Entity you want to mantain?"; 
        gb.Font = new Font("Calibri", 12); 
        gb.AutoSize = true; 
        gb.Location = new Point(j * 150, (i + 1) * 100); 


       }      
       RadioButton rb = new RadioButton(); 
       rb.Text=""+ a[i][j]; 
       rb.AutoSize = true; 
       gb.Controls.Add(rb); 

       this.Controls.Add(gb); 

       // MessageBox.Show("" + a[i][j]); 

      } 
enter code here 
+0

Какую структуру пользовательского интерфейса вы используете? WinForms, WebForms, WPF, Silverlight? (У вас есть «Форма» в имени вашего метода, поэтому это, вероятно, WinForms или WebForms.) –

ответ

1

Вы хотите создать обработчик событий для запуска Когда Control добавляется в GroupBox, как это:

groupbox.ControlAdded += new ControlEventHandler(groupbox_ControlAdded); 

А затем добавить метод для решения с событием :

void groupbox_ControlAdded(object sender, ControlEventArgs e) 
    { 
     //Do Resizing here 
    }