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> сам.

Другие вопросы по тегам