for(int i=0; i<17; i++)
{
if (<какое то условие>)
{
comboBox_<сюда надо как то вставить переменную цикла>.Items.Add(<значение>);
}
}
Динамическое формирование имени объекта формы
Объясню ситуацию.
Работаю в Microsoft Visual Studio 2005 .NET Framework Version 2.0.50727 SP1, язык C#.
На форме есть несколько объектов, например это comboBox, их 17 штук.
Я их переименовал так: comboBox_0 .. comboBox_16.
Далее есть цикл, в котором мне надо с этими выпадающими списками производить какие то операции, выглядит это примерно следующим образом:
Код:
Т.е. грубо говоря мне надо формировать имя нужного мне элемента, подставляя переменную цикла. С метками (lable) я делал это следующим образом:
Код:
for(int i=0; i<17; i++)
{
if (<какое то условие>)
{
Controls["label_" + i.ToString()].Text = <нужный текст>;
}
}
{
if (<какое то условие>)
{
Controls["label_" + i.ToString()].Text = <нужный текст>;
}
}
Однако через Controls я получал возможность менять только свойство Text, а добавлять элементы таким же образом у выпадающих списков нельзя.
Каким образом мне можно обращаться к нужному элементу формы, динамически формируя его имя (в данном случае в цикле)?
Заранее спасибо!
Код:
ComboBox cmb = Controls["comboBox_" + i.ToString()] as ComboBox;
if (cmb != null)
cmb.Items.Add(...);
if (cmb != null)
cmb.Items.Add(...);
Спасибо огромное за помощь! Все работает.