Foxtable(狐表)用户栏目专家坐堂 → 遍历所有窗口与控件设置可用 不能实现


  共有1667人关注过本帖树形打印复制链接

主题:遍历所有窗口与控件设置可用 不能实现

帅哥哟,离线,有人找我吗?
aoc103
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:3148 威望:0 精华:0 注册:2017/10/15 20:04:00
遍历所有窗口与控件设置可用 不能实现  发帖心情 Post By:2024/7/9 19:50:00 [只看该作者]

For Each w As WinForm.Form In Forms
    If w.Opened Then
        For Each c As WinForm.Control In w.Controls
            c.Enabled = Not c.Enabled
        Next
    End If 
Next 
以上代码对正常的窗口 都能使用,可是对于并列的窗口,能可锁定控件不可用,却无法让控件恢复正常
c.Enabled = true
如果在这里把值设置确定值,的确是可以使用,但有些控件不有强行打开,所以需要进行状态翻转,不知道代码要哪里修改,请大神支支招

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/9 20:13:00 [只看该作者]

请上传实例说明

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110809 积分:563983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/7/9 20:42:00 [只看该作者]

试了一下,如果有容器,控件嵌套的情况下,直接遍历所有控件是不可行的,因为子控件会受到父控件的影响。

建议只遍历第一层控件
For Each c As WinForm.Control In w.Controls
改为
For Each c As WinForm.Control In w.children

 回到顶部
帅哥哟,离线,有人找我吗?
aoc103
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:3148 威望:0 精华:0 注册:2017/10/15 20:04:00
  发帖心情 Post By:2024/7/9 21:07:00 [只看该作者]

可以了 非常感谢

 回到顶部