В общем есть форма, где есть кучка combobox.
как просто combobox-> или this->combobox всё работает, но неудобно, так как нужно пробегать по 8-16 объектам.
Гдето затылком понимаю, что должен быть путь получать объекты формы по имени, но никак не могу найти.
Пните пожалуста в нужную сторону...
Здравствуйте, FlashBack, Вы писали:
FB>В общем есть форма, где есть кучка combobox. FB>как просто combobox-> или this->combobox всё работает, но неудобно, так как нужно пробегать по 8-16 объектам. FB>Гдето затылком понимаю, что должен быть путь получать объекты формы по имени, но никак не могу найти.
Должен. Вначале сложи из все в словарь по имени. И потом получай.
Здравствуйте, Aen Sidhe, Вы писали: AS>Должен. Вначале сложи из все в словарь по имени. И потом получай.
AS>В целом, тебе лучше почитать про Binding.
Binding мне тут вряд ли понадобиться, не такое количество данных и.т.д. Програмка простенькая...
А можно про словарь подробнее? Или ключевое слово, как его поискать в msdn?
Re: Получение объекта формы по имени. Как?
От:
Аноним
Дата:
16.04.13 05:03
Оценка:
Здравствуйте, FlashBack, Вы писали:
FB>В общем есть форма, где есть кучка combobox. FB>как просто combobox-> или this->combobox всё работает, но неудобно, так как нужно пробегать по 8-16 объектам. FB>Гдето затылком понимаю, что должен быть путь получать объекты формы по имени, но никак не могу найти. FB>Пните пожалуста в нужную сторону...
this.Controls.OfType<ComboBox>.ToList()
Это оно соберет непосредственно с формы.
Если все лежит в разных контейнерах, то тоже самое рекурсивно для каждого контейнера.
Здравствуйте, FlashBack, Вы писали:
FB>Гдето затылком понимаю, что должен быть путь получать объекты формы по имени, но никак не могу найти.
Не факт. Многие контролы вообще реализованы криво. В общем случае — рекурсия и контейнеры форм Controls и components. В частном, можно положить нужное на необходимый контейнер (например, Panel) и юзать LINQ. Или еще более "дубово" — используя Tag. Если хочется красоты, то подписка на ControlAdded и запихивание всего в Hashtable, тогда можно будет и "по имени" обращаться.