Foxtable(狐表)用户栏目专家坐堂 → 遍历控件时,能否知道当前控件是否在一个panel上?


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

主题:遍历控件时,能否知道当前控件是否在一个panel上?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/30 22:14:00 [显示全部帖子]

控件遍历是分层次的,比如下面代码,只能遍历窗口的根级控件,比如有一个panel,panel里面有一个按钮,这种代码是遍历不到panel里面的按钮的。

For Each c As Winform.Control In e.Form.Controls
    Output.Show(c.Gettype().fullname)
Next

如果要遍历到panel里面的按钮需要再下一层才行,比如
For Each c As Winform.Control In e.Form.Controls
    If Typeof c Is WinForm.panel Then
        Output.Show(c.Name)
        Dim p As WinForm.panel = c
        For Each c2 As Winform.Control In p.Children
            Output.Show(c2.Name)
        Next
    End If
Next

所以不是判断当前控件是否在一个panel上,而是判断panel里有什么子控件

 回到顶部