如何基于父节点属性更新TreeView子节点

时间:2019-10-26 01:50:08

标签: vb6

在TreeView中,仅当父节点的Image为4而子节点的值为3时,才执行代码吗?

If TreeView2.Nodes(ii).Image = 4 And TreeView2.Nodes(ii).Image = 3 Then.

出于某种原因,If TreeView2.Nodes(ii).Image = 4检查父母和孩子,我不知道为什么。

我正在尝试使用If TreeView2.Nodes(ii).parent.child.image=3,但是它不能正常工作。

1 个答案:

答案 0 :(得分:0)

TreeView2.Nodes(ii).parent永远都是虚无。 TreeView中的顶级节点没有父级。使用TreeView2.Nodes(ii).parent.child时肯定会出现错误。使用parent.child仅用于获取父节点的第一个孩子,这可能不是您要尝试的。

听起来您想执行以下操作:

Dim objRootNode As Node
Dim objChildNode As Node
Dim iRootCounter As Integer
Dim iChildCounter As Integer

For iRootCounter = 1 To TreeView1.Nodes.Count

    Set objRootNode = TreeView1.Nodes(iRootCounter)

    If objRootNode.Image = 4 Then

        Set objChildNode = objRootNode.Child ' Gets first child

        For iChildCounter = 1 To objRootNode.Children

            If objChildNode.Image = 3 Then
                ' Write your code here
            End If

            Set objChildNode = objChildNode.Next ' Get next node

        Next

    End If

Next

将您的代码添加到Write your code here所在的位置。这是父母拥有Image = 4而孩子拥有Image = 3的地方。