遍历picturebox内多层控件

senventt 2007-12-13 10:46:08
一个picturebox作为容器,里面放入多种控件,并且其中的容器控件作为容器继续存放其他控件,怎样遍历找到picturebox内所有控件并修改属性。
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2007-12-13
  • 打赏
  • 举报
回复
'以下示例列出所有Picture1内的控件
Private Function IsInside(ByVal SubControl As Control, ByVal Container As Control) As Boolean
Dim ctl As Control
Set ctl = SubControl
While Not ctl.Container Is Me
If ctl.Container Is Container Then
IsInside = True
Exit Function
End If
Set ctl = ctl.Container
Wend
End Function

Private Sub Command1_Click()
Dim ctl As Control
For Each ctl In Me.Controls
If IsInside(ctl, Picture1) Then
Debug.Print ctl.Name
End If
Next
End Sub
Tiger_Zhao 2007-12-13
  • 打赏
  • 举报
回复
顺序是由控件加载的顺序决定的,无法控制。
IsInside()中有个上溯的过程,你可以做个计数以求得控件所在的层数,自己按层数进行排序。
senventt 2007-12-13
  • 打赏
  • 举报
回复
谢谢,这个遍历的过程有什么顺序吗,比如说我可不可以先遍历到最下面的容器?再依次遍历上层的

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧