请指教,谢谢

解决方案 »

  1.   

    用遞歸
        Private Sub Expandnodes(ByVal node As Microsoft.Web.UI.WebControls.TreeNode, ByVal Expand As Boolean)
            Dim n As Microsoft.Web.UI.WebControls.TreeNode
            For Each n In node.Nodes
                If n.Nodes.Count > 0 Then
                    n.Expanded = Expand
                    Expandnodes(n, Expand)
                End If
            Next
        End Sub    Private Sub Expandnodes(ByVal treeview As Microsoft.Web.UI.WebControls.TreeView, ByVal Expand As Boolean)
            Dim n As Microsoft.Web.UI.WebControls.TreeNode
            For Each n In treeview.Nodes
                If n.Nodes.Count > 0 Then
                    n.Expanded = Expand
                    Expandnodes(n, Expand)
                End If
            Next
        End Sub
    調用時Expandnodes(Me.TreeView1, True)可展開全部節點,Expandnodes(Me.TreeView1, False)可折疊全部節點.
      

  2.   

    ljmay168(軍)的程序不错,我借用了下,改成C#版如下:
    public void Expandnodes(Microsoft.Web.UI.WebControls.TreeNode node,bool Expand)

        foreach(Microsoft.Web.UI.WebControls.TreeNode n in node.Nodes)
        {
    if(n.Nodes.Count>0)
    {
        n.Expanded = Expand;
        Expandnodes(n, Expand);
    }
         }
    }
    public void Expandnodes(Microsoft.Web.UI.WebControls.TreeView treeview, bool Expand)
    {
    foreach(Microsoft.Web.UI.WebControls.TreeNode n in treeview.Nodes)
    {
                    if(n.Nodes.Count>0)
           { 
    n.Expanded = Expand;
    Expandnodes(n, Expand);
           }
    }
    }Expandnodes(Me.TreeView1, true)展开全部节点,Expandnodes(Me.TreeView1, false)折叠全部节点
      

  3.   


    既然是bool型的干嘛要写两个 写一个就够了呀    public void Expandnodes(Microsoft.Web.UI.WebControls.TreeView treeview, bool Expand)
        {
            foreach (Microsoft.Web.UI.WebControls.TreeNode n in treeview.Nodes)
            {
                if (n.Nodes.Count > 0)
                {
                    n.Expanded = Expand;
                    Expandnodes(n, Expand);
                }
            }
        }