我在我的应用程序中有一个与每个MDI子项关联的Browse
表单,用于显示保存的记录。我想在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;
}
这很完美,但是如果任何形式的控件很多,则启用或禁用它会花费太多。
我了解问题所在,启用/禁用表单的每个控件都需要花费时间。
有什么办法可以改善我的上述代码?