ich möchte gerne ein TreeView Element mit Ordnern und deren Unterordnern befüllen und komme damit nicht weiter, irgendwie hackt es bei der Rekursivität.
Im ganzen sieht meine Vorgehensweise bisher so aus:
Code:
Private Sub S_Show_Knoten()
Dim obj_Nodes As New TreeNode("\")
Me.TreeView1.Nodes.Clear()
Me.TreeView1.Nodes.Add(F_Folder(Me.TextBox1.Text, obj_Nodes))
End Sub
Private Function F_Folder(ByVal str_Pfad As String, ByVal obj_Node As TreeNode) As TreeNode
Dim str_Temp As String = str_Pfad
If str_Temp.EndsWith("\") Then
str_Temp = str_Temp.Remove(str_Temp.LastIndexOf("\"), 1)
End If
str_Temp = str_Temp.Substring(str_Temp.LastIndexOf("\") + 1)
Dim obj_new As New TreeNode(str_Temp)
For Each str_run As String In System.IO.Directory.GetDirectories(str_Pfad)
obj_new.Nodes.Add(F_Folder(str_run, obj_new))
Next
obj_Node.Nodes.Add(obj_new)
Return obj_Note
End Function
Probleme bereitet mir die Funktion "F_Folder", ich vermute das es am Rückgabewert liegt, bin mir also nicht sicher. Die Funktion bleibt im Part:
Code:
For Each str_run As String In System.IO.Directory.GetDirectories(str_Pfad)
obj_new.Nodes.Add(F_Folder(str_run, obj_new))
Next
Unendlich hängen.
Wie kann ich das also lösen? Aus den Erklärungen auf MSDN bin ich nicht ganz schlau geworden und auch nicht aus den Beispiel Projekten wie man per TreeView den Windows-Datei-Explorer nachbilden kann.