V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Famio
V2EX  ›  程序员

C#中如何设置 form 中的所有 button 控件为不启用?

  •  
  •   Famio · 2016-10-09 14:51:40 +08:00 · 2257 次点击
    这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在 form 中有很多 button 控件,大概思路知道用 foreach 来做,但是试了一下好像没效果,有没有大神给个 demo 看看

    我的代码:
    foreach (Control ctr in this.Controls)
    {
    if (ctr is Button)
    {
    ctr.enabled = false;
    }
    }
    第 1 条附言  ·  2016-10-09 15:27:35 +08:00
    我的控件层级关系: form→TabControl→TabPage→GroupBox→Button
    第 2 条附言  ·  2016-10-09 15:34:02 +08:00
    搞定了,是我逻辑错了
    6 条回复    2016-10-10 12:50:29 +08:00
    stnaw
        1
    stnaw  
       2016-10-09 15:35:18 +08:00
    binding enable

    如果不要取消态的话 直接设置 hitTestVisible ?

    或者直接把所有 button 放在一个 grid 里面 直接控制 grid 的 hitTestVisible

    好久没弄 c#了 说错了 见谅
    robinlovemaggie
        2
    robinlovemaggie  
       2016-10-09 15:36:32 +08:00
    button 继承一下,在 baseButton 里设置开关,不知道可不可行
    dong3580
        3
    dong3580  
       2016-10-09 15:55:40 +08:00
    @robinlovemaggie
    没必要,就跟他上面的写的那样, init 的时候加载一下方法就行了,不过窗体会卡一下,异步应该好点。
    Hyeongo
        4
    Hyeongo  
       2016-10-09 16:16:06 +08:00 via iPhone
    多写 html
    ifishman
        5
    ifishman  
       2016-10-09 17:12:32 +08:00 via Android
    还没看到第 3 条附言就知道是哪里的问题了, button 的父级元素是 groupbox 诶
    yejinmo
        6
    yejinmo  
       2016-10-10 12:50:29 +08:00
    能在 V 站看到 C#的帖子。。真不容易啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2785 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:54 · PVG 14:54 · LAX 23:54 · JFK 02:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.