Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Node.Selected = True
If Node.Checked = True Then
Node.Expanded = True
Else
Node.Expanded = False
End If
For i = 1 To TreeView1.Nodes.Count
    For J = 0 To 6
        If TreeView1.Nodes(i).Key = chi(J) Then
            'Node.Expanded = True
        GoTo 100
        End If
    Next J
    If TreeView1.Nodes(i).Parent = Node.Text Then
        If Node.Checked = True Then
                TreeView1.Nodes(i).Checked = True
        Else
        TreeView1.Nodes(i).Checked = False
        End If
    End If
100:
Next i
End Sub

解决方案 »

  1.   

    Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
    Node.Selected = True
    If Node.Checked = True Then
    Node.Expanded = True
    Else
    Node.Expanded = False
    End If
    For i = 1 To TreeView1.Nodes.Count
        For J = 0 To 6
            If TreeView1.Nodes(i).Key = chi(J) Then
                'Node.Expanded = True
            GoTo 100
            End If
        Next J
        If TreeView1.Nodes(i).Parent = Node.Text Then
            If Node.Checked = True Then
                    TreeView1.Nodes(i).Checked = True
            Else
            TreeView1.Nodes(i).Checked = False
            End If
        End If
    100:
    Next i
    End Sub