你的Text不会跟ID设的一样吧?其他代码呢

解决方案 »

  1.   

    strText = strText + tmpNd.Text错了吧...
      

  2.   

    我上面程序有些错误,本来应该如下
        Private Function getNodeId(ByVal Nd As TreeNode) As String
            Dim tmpNd As TreeNode
            Dim strID As String
            strID = Nd.ID
            For Each tmpNd In Nd.Nodes
                If tmpNd.Nodes.Count = 0 Then
                    strID = strID + tmpNd.ID
                ElseIf tmpNd.Nodes.Count > 0 Then
                    strID = strID + tmpNd.Text
                    getNodeId(tmpNd)
                End If
            Next
            Return strID
        End Function我的重点问题不是楼上两位的Text和ID的问题,而是怎样获取全部节点(包括子节点的子节点)。上面这段程序返回的只是当前节点和下一层节点的ID,帮我看看错在哪里
      

  3.   

    vb的代码我不太熟给你段c#的:
    foreach(tmpNd In Nd.Nodes)            
    {
       
        Init_Tree(tmpNd [tmpNd .Count-1].Nodes);//递归调用

    }
      

  4.   

    Private Function getNodeId(ByVal Nd As TreeNode) As String
            Dim tmpNd As TreeNode
            Dim strID As String
            strID = Nd.ID
            For Each tmpNd In Nd.Nodes
                If tmpNd.Nodes.Count = 0 Then
                    strID = strID + tmpNd.ID
                ElseIf tmpNd.Nodes.Count > 0 Then
                    strID = strID + tmpNd.Text
                    for(i=0;i<count;i++)
                    {
                     getNodeId(tmpNd[i])
                    }
                End If
            Next
            Return strID
        End Function