Treeview Dateisystem darstellen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Treeview Dateisystem darstellen

    Hallo!

    Ich habe jetzt eine Stunde das Forum durchsucht und leider keine Antwort für mein Problem gefunden.

    Problem:
    Ich habe in einem Treeview das Dateisystem des Computers dargestellt. Also Die Laufwerke in der vordersten Ebene und die Ordner in den darauffolgenden Ebenen. Also so wie im Windows Explorer.

    Mein Problem ist nun, dass z.B. die Ordner "Dokuments and Settings" oder "eigene Dokumente" nicht angezeigt werden können bzw. die Dateien, die sich darin befinden, weil die erforderlichen Rechte nicht vorhanden sind.

    Es geht tatsächlich um die Ordner, die dem Benutzer gehören, der gerade angemeldet ist.

    Auch wenn ich das Programm als Administrator ausführe, klappt es nicht.

    Kann mir bitte einer einen kleinen Tipp geben?

    Ich komme seit Tagen nicht weiter..
    Vielen Dank schon einmal für die Antworten.

    Ich bin gerade bei der Arbeit und habe den Code, den ich anpassen möchte nicht da.

    Der Code da unten ist sehr ähnlich.

    Er kann jedoch nicht alle Ordner anzeigen, die z.B. der Windows Explorer anzeigen kann. Z.B. kann ich keine Ordner ganz zu schweigen
    Dateien des Ordners Eigene Dateien anzeigen...

    Kann man da noch einen Code einfügen, damit das dann klappen könnte? Das müsste doch eigentlich nicht so schwer sein..
    Bin totaler Anfänger und bin am Ende mit meinem Latein...(bzw. Visual Basic)

    Gruß
    Lasse

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(...) Handles MyBase.Load
    4. ' abrufen der lokalen Laufwerksangaben
    5. Dim drives() As String = Directory.GetLogicalDrives()
    6. Dim node As TreeNode
    7. For Each drv As String In drives
    8. node = TreeView1.Nodes.Add(drv)
    9. If node.Text = "A:\" Then
    10. node.ImageIndex = 0
    11. node.SelectedImageIndex = 0
    12. Continue For
    13. End If
    14. ' alle untergeordneten Verzeichnisse einlesen
    15. AllSubDirectories(node)
    16. ' das Laufwerk C: aktivieren
    17. If (drv = "C:\") Then
    18. TreeView1.SelectedNode = node
    19. End If
    20. Next
    21. End Sub
    22. ' Hinzufügen der untergeordneten Verzeichnisse eines
    23. ' bestimmten Knotens
    24. Private Sub AllSubDirectories(ByVal node As TreeNode)
    25. Dim arrDirInfo() As DirectoryInfo
    26. Dim dirinfo As DirectoryInfo = _
    27. New DirectoryInfo(node.FullPath)
    28. ' auftretende Fehler ignorieren
    29. Try
    30. arrDirInfo = dirinfo.GetDirectories()
    31. Catch
    32. Return
    33. End Try
    34. For Each info As DirectoryInfo In arrDirInfo
    35. node.Nodes.Add(info.Name)
    36. Next
    37. End Sub
    38. Private Sub TreeView1_BeforeExpand(ByVal sender As Object, _
    39. ByVal e As TreeViewCancelEventArgs) _
    40. Handles TreeView1.BeforeExpand
    41. For Each node As TreeNode In e.Node.Nodes
    42. AllSubDirectories(node)
    43. Next
    44. End Sub
    45. Private Sub TreeView1_AfterSelect(ByVal sender As Object, _
    46. ByVal e As TreeViewEventArgs) _
    47. Handles TreeView1.AfterSelect
    48. If e.Node.Nodes.Count = 0 Then
    49. AllSubDirectories(e.Node)
    50. End If
    51. End Sub
    52. End Class


    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „LasseBN“ ()