Приложение становится медленным после включения / выключения MDIChldren - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть форма Browse, связанная с каждым дочерним элементом MDI в моем приложении для отображения сохраненных записей.Я хочу отключить все, когда Browse активировать форму, кроме Browse формы и включить все, когда Browse от закрытия, поэтому я использовал этот код.

Browse Активированное событие

public static void DisableControls(Form ParentForm, Form ChildForm)
        {
            for (int i = 0; i < ParentForm.Controls.Count; i++)
            {
                if (ParentForm.Controls[i].GetType() != typeof(MdiClient))
                    ParentForm.Controls[i].Enabled = false;
            }
            foreach (Form frm in ParentForm.MdiChildren)
            {
                if (frm != ChildForm)
                    frm.Enabled = false;
            }
        }

Browse Закрытие события

public static void EnableControls(Form ParentForm)
        {
            for (int i = 0; i < ParentForm.Controls.Count; i++)
                ParentForm.Controls[i].Enabled = true;

            foreach (Form frm in ParentForm.MdiChildren)
                frm.Enabled = true;
        }

Это прекрасно работает, но если в любой форме есть много элементов управления, для ее включения или отключения требуется слишком много.
Я понимаю проблему, требуется время для включения / отключения каждогоконтроль формы.
Есть ли возможность улучшить мой код выше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...