您將要遇到的第一個問題是基於您的for語句的異常;您應該將其更改爲:
For i As Integer = 0 To arrLinks.Length - 1
,或者我的偏好:
For each nodeKey as String in arrLinks
下一個問題是,節點集合不包含所有在整個樹中的節點,它僅包含頂級節點。此列表中的每個節點都有自己的一組子節點,每個子節點都有子節點等。
這意味着當您添加每個節點時,需要跟蹤最後一個父節點並添加下一個子節點添加到該父節點或跟蹤要添加到的級別的當前節點集合。
這將導致代碼類似於以下內容(您可能需要調整NodeCollection和Node的類名稱以及可能的Add語句(如果添加返回節點,則不記得頂部)):
Dim arrLinks() As String = Split(Url, "/")
Dim cNodes as NodeCollection
' Keep track of the current collection of nodes, starting with the tree's top level collection
cNodes = tvwDirs.Nodes
For each nodeKey As String in arrLinks
Dim currentNode as Node
If Not cNodes.ContainsKey(nodeKey) Then
' If the key is not in the current collection of nodes, add it and record the resultant record
currentNode = cNodes.Add(nodeKey, nodeKey)
Else
' Otherwise, record the current node
currentNode = cNodes(nodeKey)
End If
' Store the set of nodes that the next nodeKey will be added to
cNodes = currentNode.Nodes
Next
感謝您的幫助,我需要添加圖像到樹基於節點級別的視圖,具有子節點的任何節點都將是文件夾,並且沒有文件/感謝 – Smith