Items einer Listbox Speichern

  • VB.NET

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

    Items einer Listbox Speichern

    Hi

    Da ich eine art FileLogger gemacht habe der Informiert welche Datei gelöscht/geändert/umbenannt wurde habe ich eine Listbox drin die alles Listet.
    Nun wollte ich das so machen das man den Log also die Listbox speichern kann,
    Wie mache ich das?
    Verstehe bitte den Sinn von Controls wie der Listbox:
    Controls dienen (ausschließlich) der Interaktion des Benutzers mit dem Programm. Es stellt Daten lesbar dar oder nimmt Eingaben entgegen. Deshalb sollte man dringend darauf achten, Daten von deren Visualisierung zu trennen. Das heißt im Klartext:
    Erstelle eine Datatable mit den benötigten Spalten (z.B. Zeit, Pfad, Art der Änderung...).
    Binde diese Datatable mittels Databinding über eine Bindingsource an ein Datagridview (is besser geeignet als Listbox).
    Speichere die Datatable mit DataTableXY.WriteXML(Pfad) ab.
    Das erfordert keine Kopfstände und du kannst mit den Daten deutlich flexibler arbeiten.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Mach es andersrum.
    Sammle die Log-Zeilen in einer List(Of String), die kannst Du dann so listen und speichern:

    VB.NET-Quellcode

    1. Dim lines As New List(Of String)
    2. lines.Add("jkjkJ")
    3. lines.Add("hjuiohzugg")
    4. lines.Add("lököjlh")
    5. ListBox1.Items.AddRange(lines.ToArray)
    6. System.IO.File.WriteAllLines(DEIN_PFAD, lines.ToArray)
    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!