加速控件的启用/禁用(C#WinForms)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了加速控件的启用/禁用(C#WinForms),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含874字,纯文字阅读大概需要2分钟。
内容图文
![加速控件的启用/禁用(C#WinForms)](/upload/InfoBanner/zyjiaocheng/670/f8028a4a122a4c48a15ae4d309e8abad.jpg)
我在基本表单上有一个递归方法,该方法接受控件和enabled标志.它遍历窗体上的每个控件,并根据控件类型是什么,它相应地设置控件的背景色,并将enabled属性设置为参数.
因此,通常将该方法称为传递(this)作为控件,它遍历所有控件及其控件,并相应地进行设置.这样做效果很好,但是表单中添加了越来越多的控件,您实际上可以看到控件被一个一个地禁用,而且看起来也不好.
有谁知道我该如何重写它或阻止它逐个显示每个控件的禁用过程?像SuspendLayout这样的东西在这种情况下会起作用?它不是将面板添加到表单中并仅禁用它并在最后重新启用它的选项,因为我大约有200个表单从该基本表单继承而来,无法遍历每个表单并强制其将控件添加到面板中.这也是行不通的,因为这不仅是启用/禁用控件的问题,而且是对它们应用其他逻辑的问题.
解决方法:
将修改内容包含在:
form.SuspendLayout();
和
form.ResumeLayout(false); // read the doc about "false", might be a little unsafe
同样,遍历控件层次结构可能很耗时.您可以执行一次并将其缓存在列表中,然后再引用该列表.
内容总结
以上是互联网集市为您收集整理的加速控件的启用/禁用(C#WinForms)全部内容,希望文章能够帮你解决加速控件的启用/禁用(C#WinForms)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。