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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
遍历控件时,能否知道当前控件是否在一个panel上?  发帖心情 Post By:2019/9/30 21:59:00 [只看该作者]

或者在分区面板的panel上、

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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里有什么子控件

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
谢谢,其实就是想遍历panel上控件时  发帖心情 Post By:2019/9/30 22:51:00 [只看该作者]

非常感谢,不是软件专业,只能通过论坛找答案

 回到顶部