2013-03-07 2 views
0

У меня есть этот метод, который создает группу по форме:Вызова методы для создания нескольких динамической формы управления

private void createPanels(int spacing) 
     { 
      pnl1.Location = new Point(0, spacing); 
      pnl1.BorderStyle = BorderStyle.FixedSingle; 
      pnl1.Size = new Size(100, 93); 
      tabRotaBuild.Controls.Add(pnl1); 

     } 

Я тогда называю этот метод в виде нагрузке:

private void Form1_Load(object sender, EventArgs e) 
    { 
     createPanels(60);    
    } 

То, что я хочу Чтобы сделать следующий, снова отобразите эту панель (новую панель) под ней, освободив существующую. У меня есть кнопка, которая генерирует новую панель при нажатии, но когда я нажимаю ее, существующая панель исчезает при отображении нового.

Это код под кнопкой:

int s = 0; 
     private void button1_Click(object sender, EventArgs e) 
     { 
      s += 100; 
      createPanels(s); 

     } 
+0

Вместо добавления новой панели в 'TabPage', попробуйте добавить ее в элемент управления FlowLayout. –

ответ

2

Проверьте метод, вы просто изменить расположение существующего Panel и метода Control.Add снова установив Parent свойство, BorderStyle и Size уже было установлено одинаковое значение:

private void createPanels(int spacing) 
     { 
      pnl1.Location = new Point(0, spacing); //notice here 
      pnl1.BorderStyle = BorderStyle.FixedSingle; 
      pnl1.Size = new Size(100, 93); 
      tabRotaBuild.Controls.Add(pnl1); 

     } 

вам нужно создать новый Panel добавить pnl1 = new Panel(); в вашем методе

private void createPanels(int spacing) 
    { 
     pnl1 = new Panel(); 
     pnl1.Location = new Point(0, spacing); 
     pnl1.BorderStyle = BorderStyle.FixedSingle; 
     pnl1.Size = new Size(100, 93); 
     tabRotaBuild.Controls.Add(pnl1); 

    } 

или вы могли бы объявить и создать экземпляр новой панели в методе

Panel panel = new Panel(); 

Обратите внимание, что вы не будете иметь ссылку на добавленную панели. Вы можете добавить каждую ссылку к объявлению List<Panel> вне метода или что-то подобное.

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