c# - 在 winform 中获取控件以禁用它们

标签 c# winforms

我试图在加载事件中禁用 winform 中的所有控件。

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

最佳答案

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

或者,如果您真的想禁用每个控件,请使用窗体的控件集合:

void ChangeEnabled( bool enabled )
{
    foreach ( Control c in this.Controls )
    {
        c.Enabled = enabled;    
    }
}

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

this.Enabled = false;

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

关于c# - 在 winform 中获取控件以禁用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1676766/

相关文章:

c# - 如何控制面板内文本框的焦点顺序?

c# - 在c#中的每个打印页面中打印页码

c# - 从设备读取短信的正则表达式

c# - 在多线程 UI 程序中获取 System.ArgumentOutOfRangeException

c# - 为什么一个流在它的作者被处置时被处置?

c# - 在 c# 窗体应用程序 "syntax error in update statement"中更新 access mdb 数据库中的数据

c# - 如何在一个操作结果中返回两个 pdf 文件?

c# - 在不违反 DDD 聚合原则的情况下为 DI 公开实体 CRUD

c# - 有没有办法防止 WPF 窗口中的 WinForms 控件被取消样式化?

c# - 从另一个单独的 .NET 程序访问一个 .NET 程序中的变量