[3.5] Schnelle Art alle Dateien und alle Drives aufzulisten?

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von singu.

    [3.5] Schnelle Art alle Dateien und alle Drives aufzulisten?

    Hey Paradisianer,

    ich habe vor einer gefühlten Ewigkeit einen "Mini-Explorer" geschrieben, der braucht aber eine Ewigkeit alles dateien und Drives aufzulisten, jetzt meine Frage gibt es eine Schnelle art alle dateien aufzulisten wie es andere Programme auch machen?

    danke euch

    LG Fabi
    können wir nur raten, da wir nicht wissen, wie du das gemacht hast...ich würde einfach zuerst auf oberster ebene auslesen oder maximal zwei ebenen, alles darunter wird erst geladen, wenn es auch benötigt wird...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    danke jvbsl darauf hätte ich selbst kommen könne ...

    hier ma der code den ich noch habe:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Dim drives = DriveInfo.GetDrives()
    5. For Each drive As DriveInfo In drives
    6. Dim node = TreeView1.Nodes.Add(drive.Name)
    7. node.Tag = drive.RootDirectory
    8. node.ImageKey = "drive"
    9. FillNode(node, drive.RootDirectory)
    10. Next
    11. Me.Visible = True
    12. End Sub
    13. Private Sub FillNode(ByVal node As TreeNode, ByVal directory As DirectoryInfo)
    14. Try
    15. Dim directories = directory.GetDirectories()
    16. For Each subdirectory As DirectoryInfo In directories
    17. Dim subnode = node.Nodes.Add(subdirectory.Name)
    18. subnode.Tag = subdirectory
    19. subnode.ImageKey = "folder"
    20. FillNode(subnode, subdirectory)
    21. Next Catch ex As Exception
    22. End Try
    23. End Sub
    24. Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    25. Try
    26. Dim directory As DirectoryInfo
    27. directory = TreeView1.SelectedNode.Tag
    28. Dim files = directory.GetFiles()
    29. ListView1.Items.Clear()
    30. UpdateControls(sender, e)
    31. For Each file As FileInfo In files
    32. Dim item = ListView1.Items.Add(file.Name)
    33. item.ImageKey = "file"
    34. Next Catch exe As Exception
    35. End Try
    36. End Sub
    37. End Class



    Danke euch

    LG Fabi
    Ich habe deinen Code ein wenig modifiziert ...

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Dim drives = DriveInfo.GetDrives()
    5. For Each drive As DriveInfo In drives
    6. If drive.IsReady Then
    7. Dim node = TreeView1.Nodes.Add(drive.Name)
    8. node.Tag = drive.RootDirectory
    9. node.ImageKey = "drive"
    10. FillNode(node, drive.RootDirectory)
    11. End If
    12. Next
    13. Me.Visible = True
    14. End Sub
    15. Private Sub FillNode(ByVal node As TreeNode, ByVal directory As DirectoryInfo)
    16. Try
    17. Dim directories = directory.GetDirectories()
    18. For Each subdirectory As DirectoryInfo In directories
    19. Dim subnode = node.Nodes.Add(subdirectory.Name)
    20. subnode.Tag = subdirectory
    21. subnode.ImageKey = "folder"
    22. ' FillNode(subnode, subdirectory) <--- Killer
    23. Next
    24. Catch ex As Exception
    25. Debug.WriteLine(ex.Message)
    26. End Try
    27. End Sub
    28. Private Sub TreeView1_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand
    29. Try
    30. For Each n As TreeNode In e.Node.Nodes
    31. FillNode(n, CType(n.Tag, DirectoryInfo))
    32. Next
    33. Catch ex As Exception
    34. Debug.WriteLine(ex.Message)
    35. End Try
    36. End Sub
    37. Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    38. Try
    39. Dim directory As DirectoryInfo
    40. directory = CType(TreeView1.SelectedNode.Tag, DirectoryInfo)
    41. Dim files = directory.GetFiles()
    42. ListView1.Items.Clear()
    43. ' UpdateControls(sender, e)
    44. For Each file As FileInfo In files
    45. Dim item = ListView1.Items.Add(file.Name)
    46. item.ImageKey = "file"
    47. Next
    48. Catch exe As Exception
    49. Debug.WriteLine(exe.Message)
    50. End Try
    51. End Sub
    52. End Class