如何启用表单上的所有控件?

2023-11-22

目前,我在启动时禁用了表单的大部分控件,因为在加载文件之前您无法使用它们。然而,一旦文件被加载,控件就应该被启用。

我正在使用绑定,但我认为它们不是一个好的解决方案。其一,这是不必要的复杂性。其次,你不能对所有事情都使用绑定。例如,MenuStrip 项不能将其 Enabled 属性绑定到 fileLoaded 属性。只有整个菜单可以,而且我不想在启动时禁用整个菜单,只禁用对文件进行操作的某些菜单操作。

我真的只是在寻找一种方法来实现一切。当被问到时,大多数人都会这样回答:

foreach (Control c in Controls)
{
    c.Enabled = true;
}

但是,这不适用于启用其他控件(如面板或自定义控件)中的 MenuStrip 项或控件。因此它不会在容器内启用滚动条。

我想我可以使用该行并手动启用其他所有内容,但我总是可以manually启用一切。我正在寻找一种自动启用的方法一切.


递归

private void enableControls(Control.ControlCollection Controls)
{
    foreach (Control c in Controls)
    {
        c.Enabled = true;
        if (c is MenuStrip)
        {
           foreach(var item in ((MenuStrip)c).Items)
           { 
              item.Enabled = true;
           }
        }
        if (c.ControlCollection.Count > 0)
            enableControls(c.Controls);

    }
}

Edit

应该检查控件集合计数而不是 HasControls 这是 Webcontrols

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何启用表单上的所有控件? 的相关文章

  • 套接字编程-listen() 和accept() 有什么区别?

    我一直在读本教程 http www cs rpi edu moorthy Courses os98 Pgms socket html了解套接字编程 看来listen and accept 系统调用都做同样的事情 即阻塞并等待客户端连接到使用
  • C++ 中的“int”默认是“signed long int”吗?

    Is int默认情况下signed long int in C 它是否依赖于平台和 或编译器 如果是这样 怎么办 EDIT 以下任何一项是否保证是重复的 signed short int signed int signed long int
  • 如何使用最小起订量模拟私有只读 IList 属性

    我试图嘲笑这个列表 private readonly IList
  • 何时使用 C++ 私有继承而不是组合?

    你能给我一个具体的例子吗 什么时候使用私有继承优于组合 就我个人而言 我将使用组合而不是私有继承 但在某些情况下 使用私有继承可能是特定问题的最佳解决方案 正在阅读C faq http www parashift com c faq lit
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • 为什么我在 WinForms 列表框中得到“System.Data.DataRowView”而不是实际值?

    每当我运行代码并尝试查看highscore我在列表框中得到的只是System Data DataRowView 谁能明白为什么吗 Code MySqlConnection myConn new MySqlConnection connStr
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 为什么 rand() 总是返回相同的值? [复制]

    这个问题在这里已经有答案了 可能的重复 在C中生成随机数 https stackoverflow com questions 3067364 generating random numbers in c 使用 rand 生成随机数 http
  • 主构造函数不再在 VS2015 中编译

    直到今天 我可以使用主构造函数 例如 public class Test string text private string mText text 为了能够做到这一点 在以前的 Visual Studio CTP 中 我必须将其添加到 c
  • 原子的 C++ 内存屏障

    在这方面我是个新手 谁能提供以下内存屏障之间差异的简化解释 窗户MemoryBarrier 围栏 mm mfence 内联汇编asm volatile memory 内在的 ReadWriteBarrier 如果没有简单的解释 一些好文章或
  • 在 Windows 上使用 C/C++ 开发时省略 msvcr100.dll?

    是否可以在 Windows 上使用 C C 进行开发而不链接到 msvcr100 dll 我知道这是 Windows 的标准 c 库 但我想知道如果我没有安装 Visual Studio 或 Redistributable 软件包 我的计算
  • 如果项目包含多个文件夹,如何使用 Add-Migration

    我想Add Migration使用我的 DbContext 但出现错误 The term add migration is not recognized as the name of a cmdlet function script fil
  • XCode std::thread C++

    对于学校的一个小项目 我需要创建一个简单的客户端 服务器结构 它将在路由器上运行 使用 openWRT 并且我试图在这个应用程序中使用线程做一些事情 我的 C 技能非常有限 所以我在internet https stackoverflow
  • 如何在 SQLite 中检查数据库是否存在 C#

    我目前正在用 C 编写一个应用程序 并使用 sqlite 作为嵌入式数据库 我的应用程序在启动时创建一个新数据库 但如何让它检查数据库是否存在 如果它确实存在 我如何让它使用它 如果不存在如何创建一个新数据库 这是我到目前为止所拥有的 pr
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • 在 lua 中加载 C++ 模块时出现“尝试索引字符串值”错误

    我正在尝试使用 lua 用 C 编写的函数 下面给出的是cpp文件 extern C include lua h include lauxlib h include lualib h static int add 5 lua State L
  • 如何使用“路径”查询 XDocument?

    我想查询一个XDocument给定路径的对象 例如 path to element I want 但我不知道如何继续 您可以使用以下方法System Xml XPath Extensions http msdn microsoft com
  • 使用方法的状态模式

    我正在尝试使用方法作为状态而不是类来基于状态模式的修改版本来实现一个简单的状态机 如下所示 private Action
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v

随机推荐

  • 在 React 中等待 useState

    我已经与这段代码斗争了好几天了 但我仍然没有得到正确的结果 问题 我正在使用具有拖放区的表单 在提交处理程序中 我需要将图像的 url 保存在数组中 但它总是作为空数组返回 声明图像数组 const images setImages use
  • Pyinstaller,NameError:未定义全局名称“退出”

    我有一个运行良好的 python 脚本 但是运行 pyinstaller 后 当我使用quit or exit 命令 制作规范文件 mode python a Analysis os path join HOMEPATH support m
  • 在 bash 脚本中使用正则表达式将 1 个参数拆分为 2 个参数

    这是我的情况 目前 我有一个接受两个参数的脚本 书名和章节名称 例如 myscript book1 chap1 现在 由于需要很长时间来解释的原因 我希望我的脚本能够采用以下格式的单个参数 书名 章节名称 例如 myscript book1
  • Javascript 将无序列表转换为多列

    在 良好支持的 CSS 中似乎没有一种简单的方法可以做到这一点 我正在寻找一个 javascript 解决方案 最好是 jQuery 我有一个像这样的无序列表 ul li A li li B li li C li li D li li E
  • 如何在向下滚动时缩小导航菜单?

    对于我正在开发的新网站 我希望在用户向下滚动时缩小导航菜单 类似于您在 IBM 站点上看到的内容 http www ibm com us en 我找不到任何 jQuery 实现或教程 我确信我一定是搜索了错误的关键字 因此 如果有人能为我指
  • 用于解析 Latex 或 MathML 字符串的 Java 或 scala 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我需要将大量方程和数学公式存储到数据库中进行模拟实验 我认为最好使用一些 mathML 或乳胶字符串 但是 我提出了一些谷歌搜索请求 我非常惊讶 因
  • #1221 - UPDATE 和 ORDER BY 的错误使用

    为了绕过我在其他线程中发布的问题 我尝试了这样的sql语句 UPDATE user u JOIN SELECT i 0 r SET user rank planets i i 1 WHERE user active 1 ORDER BY u
  • 在保存对象之前处理文件上传

    我有一个这样的模型 class Talk BaseModel title models CharField max length 200 mp3 models FileField upload to u talks max length 2
  • F# 中不可变

    我知道 F 中的变量默认是不可变的 但是 例如在 F 交互式中 gt let x 4 val x int 4 gt let x 5 val x int 5 gt x val it int 5 gt 所以 我将 4 分配给 x 然后将 5 分
  • R knit:是否可以在不同机器上使用缓存结果?

    问题已解决 详情请参阅答案 我想运行一些代码 使用knitr 在更强大的服务器上 然后也许有可能在我自己的笔记本电脑上进行一些小的更改 即使复制整个文件夹 本地重新编译时似乎也会重建缓存 有没有办法避免这种情况并实际使用缓存中的结果 更新
  • 使用视图模型与在视图本身中使用 @Binding 时如何使用绑定?

    State and Binding工作得很好SwiftUI 只要将所有视图的数据放入其自身内部 如下所示 struct ColorView View Binding public var isBlue Bool var body some
  • 解决 Django 1.9.2 中的 ValidationError: [u"'' 值的日期格式无效。它必须采用 YYYY-MM-DD 格式。"]?

    早些时候 我创建了两个字段并迁移了所有内容 之后我尝试添加三个字段title about birthdate进入模型 我创建了一个这样的模型 from future import unicode literals from django u
  • 一个 ASP.Net 页面中存在多个 reCAPTCHA

    是否可以在一种形式中添加多个 reCAPTCHAS 我尝试这样做 甚至给多个 reCAPTCHAS 不同的 ID 但是当我在浏览器中加载页面时 只显示其中一个 这是设计使然吗 我需要两个 reCAPTCHAS 因为一个用于登录 另一个用于注
  • 更改日期的打印格式而不将其转换为字符

    With a DateR中的对象 是否可以选择与默认不同的打印格式 Y m d 同时保持其Date班级 这format 函数将其转换回character string I start with a character string and
  • 防止 onbeforeunload 在任何情况下关闭页面

    我想防止浏览器在任何情况下或在其他情况下关闭页面 防止浏览器在以下情况下执行任何操作onbeforeunload叫做 这是我尝试过的代码 function var proxied window onbeforeunload window o
  • Mysql 创建具有多个外键的表,删除时设置为 null

    我正在尝试创建一个具有删除 更新约束的多个外键的数据库 但我收到错误代码 1005 其中包含以下 sql 脚本 CREATE TABLE Worker WorkerID smallint auto increment WorkerType
  • 如何使用 Renderscript 模糊效果而不出现伪影?

    背景 有很多地方 包括here 来展示如何使用 Renderscript 来模糊图像 如下所示 TargetApi VERSION CODES JELLY BEAN MR1 public static Bitmap renderScript
  • 使用 std430 限定符进行内存分配

    我正在使用与 SSAO 绑定的计算着色器 我在计算着色器中使用以下结构 struct Particle vec4 pAnds vec3 velocity float lifespan float age layout std430 bind
  • PHP 密码验证总是返回 false [重复]

    这个问题在这里已经有答案了 我正在使用 PHP 的密码哈希 API 来哈希并验证我正在构建的网站上的密码 但是每当我尝试验证我的密码时 它总是返回 false 我有一个 User 类 它在将密码插入数据库之前设置密码 public func
  • 如何启用表单上的所有控件?

    目前 我在启动时禁用了表单的大部分控件 因为在加载文件之前您无法使用它们 然而 一旦文件被加载 控件就应该被启用 我正在使用绑定 但我认为它们不是一个好的解决方案 其一 这是不必要的复杂性 其次 你不能对所有事情都使用绑定 例如 MenuS