C# Как получить требуемый элемент управления (ImageList) при переборе элементов управления в форме Windows
При загрузке формы Windows (C#) я пытаюсь перебрать все элементы управления. Поэтому я пишу код в публичной форме Form1()
У меня есть 5 элементов управления ImageList в моей форме, и я хочу выбрать элемент управления ImageList на основе строкового выражения.
Может кто-нибудь, пожалуйста, помогите достичь этого?
Спасибо
2 ответа
ImageList не является элементом управления, поэтому вы не можете найти их обратно, выполнив итерацию коллекции Controls формы. "Выбор" не является допустимой операцией, если вы имеете в виду установку фокуса на него. Это не видно во время выполнения.
Найдите их обратно через поле "компоненты", например так:
foreach (Component comp in this.components.Components) {
var ilist = comp as ImageList;
if (ilist != null) {
// Got one, do something with it
//...
}
}
ImageList
это компонент, а не элемент управления.
Он не добавляется ни в одну коллекцию.
Вместо этого вы можете сделать свой собственный Dictionary<string, ImageList>
сам.