Directories verarbeiten im Windows Explorer Stil

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Directories verarbeiten im Windows Explorer Stil

    Hi,

    wenn ich ein Directory verarbeite, dann hole ich mir etwa mit folgendem Coding die Einträge:

    VB.NET-Quellcode

    1. Dim strFileList() As String
    2. strFileList = Directory.GetFileSystemEntries(txtDirectory.Text)


    Danach speichere ich die Einträge in einer Listbox

    VB.NET-Quellcode

    1. For Each foundObject As String In strFileList
    2. lstFiles.Items.Add(foundObject)
    3. Next


    Ich kann dann etwa wie im Explorer mit Doppelklick die Einträge mit der Standardanwendung öffnen:

    VB.NET-Quellcode

    1. Private Sub lstFiles_DoubleClick(sender As System.Object, e As System.EventArgs) Handles lstFiles.DoubleClick
    2. Process.Start(strEntries(lstFiles.SelectedIndex))
    3. End Sub



    Allerdings ist diese Art der Verarbeitung sehr hausbacken. Ich hätte das gern wie im Windows Explorer. Also insbesondere, hätte ich gern:

    einen Verzeichnisbaum, in dem Directories mit einem Ordnersymbol gekennzeichnet sind.

    die Möglichkeit mit "+" den Baum zu expandieren und mit "-" wieder zu straffen.

    Mit Doppelclick, will ich in das ausgewähltes Verzeichnis wechseln ... mit Up in das nächst höhere Verzeichnis zurückkehren.

    die rechte Maustaste soll ein Eigenschaftsfenster öffnen und Funktionen wie DELETE, RENAME, CUT, PASTE, EIGENSCHAFTEN etc. anbieten.

    Natürlich kann ich vieles davon selbst programmieren ... aber das ist halt ein "Heidenaufwand".

    Gibt es Möglichkeiten ein Directory "professionell" zu verarbeiten, ohne das alles selbst zu kodieren?

    LG
    Peter

    Peter329 schrieb:

    ohne das alles selbst zu kodieren?
    Wie stellst du dir das vor? Das Framework stellt nur Klassen bereit, die allgemein nützlich sind, jedoch wird niemand einen fertigen Explorer bereitstellen.

    Zu dem TreeView sieh dir mal das hier an:
    [VB.NET] Einfacher Explorer-TreeView

    Peter329 schrieb:

    aber das ist halt ein "Heidenaufwand".
    Dann fang an, denn wer eher anfängt, ist früher fertig.
    Eins mach so:

    VB.NET-Quellcode

    1. lstFiles.Items.AddRange(strFileList)
    Und nimm keine Strings, nimm FileInfo- bzw. DirectoryInfo-Objekte.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!