У меня есть форма 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;
}
Это прекрасно работает, но если в любой форме есть много элементов управления, для ее включения или отключения требуется слишком много.
Я понимаю проблему, требуется время для включения / отключения каждогоконтроль формы.
Есть ли возможность улучшить мой код выше?