2015-12-01 4 views
2

Я автоматически создаю элементы управления, и я хотел бы добавить некоторые специальные элементы управления, которые соответствуют определенным критериям для другого списка элементов управления. Как я могу это сделать? Пожалуйста, смотрите в псевдокоде комментарии.Получить вновь созданный объект из списка

List<Control> comboBOX; 
List<Control> othercomboBOX; 

    case controls.LIST: 
        comboBOX.Add(new SpecialComboBox(someparam)); 
        panel.Controls.Add(comboBOX[i]) 

        //Now i have this statement below: 
        if(somecondition) 
         { 
         //Take the newly created combobox which has been added to comboBOX list and add it into another list *othercomboBOX*; 
         othercomboBOX.Add(the newly created combobox) 

         }break; 
+4

Сначала назначьте новый ComboBox переменной. Используйте его в обоих местах. –

ответ

2

Просто наклеить new SpecialComboBox в переменную и добавить его в обоих списках.

List<Control> comboBOX; 
List<Control> otherComboBOX; 

case controls.LIST: 

    ComboBox specialComboBox= new SpecialComboBox(someparam); 
    comboBOX.Add(specialComboBox); 
    panel.Controls.add(comboBOX[i]); 

    //Now i have this statement below: 
     if(somecondition) { 
      //Take the newly created combobox which has been added to comboBOX list and add it into another list *othercomboBOX*; 
      othercomboBOX.Add(specialComboBox); 

     }break; 
0

Как я правильно понимаю, вы хотите принять ваш вновь созданный ComboBox. Так просто взять выпадающий из List<Control> comboBOX с помощью индекса, как вы делали comboBOX[i] и добавить к :

case controls.LIST: 
       comboBOX.Add(new SpecialComboBox(someparam)); 
       panel.Controls.Add(comboBOX[i]) 

       //Now i have this statement below: 
       if(somecondition) 
        { 
        //Take the newly created combobox which has been added to comboBOX list and add it into another list *othercomboBOX*; 
        othercomboBOX.Add(comboBOX[i]) 

        }break;