获取winform中的控件以禁用它们

Gut*_*Dev 3 c# winforms

我在traform中获取winform中的所有控件只是在Load事件中禁用它们.

我有一个表单(MDI)加载登录表单.我想禁用登录表单后面的控件,只让用户输入他的用户名和密码,然后如果用户有效,则再次重新启用控件.

谢谢...

Ed *_* S. 15

只需将登录表单显示为模式对话框,即frm.ShowDialog().

或者,如果您确实要禁用每个控件,请使用Form的Controls集合:

void ChangeEnabled( bool enabled )
{
    foreach ( Control c in this.Controls )
    {
        c.Enabled = enabled;    
    }
}
Run Code Online (Sandbox Code Playgroud)

我建议这样做,而不是简单地设置Form的Enabled属性,因为如果你禁用表单本身你也禁用工具栏按钮.如果你没问题,那么只需将表单设置为禁用:

this.Enabled = false;
Run Code Online (Sandbox Code Playgroud)

但是,如果你打算这样做,你也可以将登录提示显示为模态对话框:)