Рекурсивный обход элементов управления

Чтобы одновременно поменять какое-нить свойство всех элементов управления в заданном контейнере, можно использовать следующий код (в этом примере блокируются панели инструментов):

private void BlockToolStrips(Control ctrl)
        {
            if (ctrl.GetType() == typeof(ToolStrip))
            {
                ctrl.Enabled = false;
            }

            foreach (Control ctrlChild in ctrl.Controls)
            {
                BlockToolStrips(ctrlChild);
            }
        }

Вызов функции:

this.BlockToolStrips(this);

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *