Как найти все элементы управления в форме, во время выполнения - PullRequest
1 голос
/ 24 июня 2011

Поиск всех элементов управления в форме с помощью «Отражение» Во время выполнения ..

Ответы [ 3 ]

4 голосов
/ 24 июня 2011

Вы можете рекурсивно перебирать коллекцию Controls на форме или другом элементе управления.

Но вы не можете получить все элементы управления во время выполнения с отражением, если они были добавлены в коллекцию элементов управления во время выполнения программы

1 голос
/ 24 июня 2011
List<Control> list = new List<Control>();

            GetAllControl(this, list);

        private void GetAllControl(Control c , List<Control> list)
        {
            foreach (Control control in c.Controls)
            {
                list.Add(control);

                if (control.Controls.Count > 0)
                    GetAllControl(control , list);
            }
        }
1 голос
/ 24 июня 2011

Вы можете сделать что-то вроде этого

var controls = from control in this.Controls select control;

или, если вам нужен какой-то конкретный элемент управления.

var textboxes = from textbox in this.Controls.OfType<TextBox>()                 
select textbox;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...