Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Динамическое формирование имени объекта формы

47K
21 апреля 2009 года
GRAFzol
8 / / 21.04.2009
Всем доброго времени суток!

Объясню ситуацию.
Работаю в Microsoft Visual Studio 2005 .NET Framework Version 2.0.50727 SP1, язык C#.
На форме есть несколько объектов, например это comboBox, их 17 штук.
Я их переименовал так: comboBox_0 .. comboBox_16.
Далее есть цикл, в котором мне надо с этими выпадающими списками производить какие то операции, выглядит это примерно следующим образом:
 
Код:
for(int i=0; i<17; i++)
{
   if (<какое то условие>)
   {
             comboBox_<сюда надо как то вставить переменную цикла>.Items.Add(<значение>);
   }
}


Т.е. грубо говоря мне надо формировать имя нужного мне элемента, подставляя переменную цикла. С метками (lable) я делал это следующим образом:
 
Код:
for(int i=0; i<17; i++)
{
   if (<какое то условие>)
   {
             Controls["label_" + i.ToString()].Text = <нужный текст>;
   }
}


Однако через Controls я получал возможность менять только свойство Text, а добавлять элементы таким же образом у выпадающих списков нельзя.

Каким образом мне можно обращаться к нужному элементу формы, динамически формируя его имя (в данном случае в цикле)?

Заранее спасибо!
11
21 апреля 2009 года
oxotnik333
2.9K / / 03.08.2007
 
Код:
ComboBox cmb = Controls["comboBox_" + i.ToString()] as ComboBox;
if (cmb != null)
    cmb.Items.Add(...);
47K
21 апреля 2009 года
GRAFzol
8 / / 21.04.2009
Спасибо огромное за помощь! Все работает.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог