liujiayu10 
要,我的油箱[email protected] 谢谢

解决方案 »

  1.   

    For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes(i).Expanded = True
        Next i
      

  2.   

    我的ASPX的树只用了一点,VB 的树倒是很熟,两者有相同之处,但不相同的地方更多,
    楼主,我已经发到你信箱了,请查收
      

  3.   

    http://www.cnblogs.com/renrenqq/archive/2004/05/20/10512.aspx
      

  4.   

    liujiayu10(自由自在) 
    没有收到
      

  5.   

    ' 选取节点
    Private Sub treeview1_NodeCheck(ByVal node As MSComctlLib.node)
         gCheckChildrenBySelf TreeView1, node.Index, node.Checked
         gCheckParentBySibling TreeView1, node.Index
    End Sub' 根据自身选取情况,确定全选或取消其下所有子项
    Private Sub gCheckChildrenBySelf(TreeView1 As TreeView, ByVal curIndex As Integer, ByVal bCh As Integer)
        Dim n As Integer    If TreeView1.Nodes(curIndex).Children <= 0 Then
            Exit Sub
        Else
            n = TreeView1.Nodes(curIndex).Child.Index
            Do While n <> TreeView1.Nodes(curIndex).Child.LastSibling.Index
                TreeView1.Nodes(n).Checked = bCh
                gCheckChildrenBySelf TreeView1, n, bCh
                n = TreeView1.Nodes(n).Next.Index
            Loop
            TreeView1.Nodes(n).Checked = bCh
            gCheckChildrenBySelf TreeView1, n, bCh
        End If
    End Sub' 根据同层、同父节点的选取情况,确定是否选取其父(乃至更上层),直至根节点
    Private Sub gCheckParentBySibling(TreeView1 As TreeView, ByVal curIndex As Integer)
        Dim n As Integer
        Dim bHaveChecked As Boolean    If TreeView1.Nodes(curIndex).FirstSibling.Index = 1 Then
            Exit Sub
        Else
            bHaveChecked = False
            n = TreeView1.Nodes(curIndex).FirstSibling.Index
            Do While n <> TreeView1.Nodes(curIndex).LastSibling.Index
                If TreeView1.Nodes(n).Checked = True Then
                    bHaveChecked = True
                    Exit Do
                End If
                n = TreeView1.Nodes(n).Next.Index
            Loop
            If TreeView1.Nodes(n).Checked = True Then
                bHaveChecked = True
            End If
            
            If bHaveChecked = True Then
                TreeView1.Nodes(curIndex).Parent.Checked = vbChecked
            Else
                TreeView1.Nodes(curIndex).Parent.Checked = vbUnchecked
            End If
            
            gCheckParentBySibling TreeView1, TreeView1.Nodes(curIndex).Parent.Index
        End If
    End Sub