Items aus Listbox in Settings speichern/laden

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Derfuhr.

    Items aus Listbox in Settings speichern/laden

    Hallo,
    Da ich mich mit dem ganzen Zeug nicht so auskenne, haben mir die Suchtreffer nicht wirklich was gebracht, weshalb ich jetzt leider einen Thread erstellen muss...

    Also, ich habe in meiner Form eine Listbox, in die durch Button-Klick Items eingefügt werden. Nun möchte ich alle Items, die in dieser Listbox stehen, mit den Settings speichern.
    Ich habe das ganze so versucht:

    VB.NET-Quellcode

    1. Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
    2. Dim GespeicherteErgebnisseValue As String
    3. GespeicherteErgebnisseValue = ListBox1.Items
    4. My.Settings.Gespeicherte_Ergebnisse = GespeicherteErgebnisseValue
    5. My.Settings.Save()
    6. Application.Exit()
    7. End Sub


    Und zum laden so:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    2. ListBox1.Text = My.Settings.Gespeicherte_Ergebnisse
    3. End If
    4. End Sub


    Das ganze funktioniert natürlich nicht. Wie muss ich das bei ListBox machen?

    Knato schrieb:

    Das ganze funktioniert natürlich nicht. Wie muss ich das bei ListBox machen?

    zunächst mal Option Strict On!

    Dir scheint überhaupt nicht klar zu sein, mit welchen Datentypen du arbeitest, bzw. was ein Datentyp ühaupt ist.

    Herantasten kannst du dich an das Thema, indem du wie gesagt Option Strict On! aktivierst.

    Dazu sehe ich keine Alternative, denn wenn du eine Auflistung nicht erkennen kannst, wie willst du sie dann abspeichern und wieder neu befüllen?

    Also Option Strict On!, und dann die offenbar gewordenen Fehler berichtigen - auch mit Hilfe aussm Forum, denn dabei lernt man die Datentypen kennen.
    du kannst einstellungen in eine ini, xml, json speichern.
    oder du kannst deine einstellungen auch so speichern und lesen:

    Kategorie.Name=Wert
    Kategorie.anderekategorie.anderername=andererwert

    wenn du das haben willst, ich habe einen Parser gebaut, schreib mich dann einfach an, ich gebe dir den code gerne

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „filmee24“ ()

    Ich würde es auch in einer Externen Datei machen,

    Items aus Listbox in Settings speichern/laden
    aber mit My.settings geht es auch.


    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim zuspeichern As String
    3. Dim zuladen As String
    4. Dim ladebuffer As String
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. BtnLoad.PerformClick()
    7. End Sub
    8. Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click
    9. If Not TextBox1.Text = Nothing Then
    10. ListBox1.Items.Add(TextBox1.Text)
    11. TextBox1.Text = Nothing
    12. End If
    13. End Sub
    14. Private Sub BtbSafe_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtbSafe.Click
    15. If ListBox1.Items.Count > 0 Then
    16. zuspeichern = Nothing
    17. Do While ListBox1.Items.Count > 0
    18. ListBox1.SelectedIndex = 0
    19. zuspeichern += "::::" & ListBox1.SelectedItem.ToString
    20. ListBox1.Items.RemoveAt(0)
    21. Loop
    22. My.Settings.Inhalt = zuspeichern
    23. My.Settings.Save()
    24. zuladen = My.Settings.Inhalt
    25. BtnLoad.PerformClick()
    26. Else : My.Settings.Inhalt = ""
    27. My.Settings.Save()
    28. End If
    29. End Sub
    30. Private Sub BtnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLoad.Click
    31. ListBox1.Items.Clear()
    32. zuladen = My.Settings.Inhalt
    33. If zuladen.Contains("::::") Then
    34. Do While zuladen.Contains("::::")
    35. zuladen = zuladen.Substring(4)
    36. Dim X As Object
    37. X = Split(zuladen, "::::")
    38. ladebuffer = X(0)
    39. zuladen = zuladen.Substring(ladebuffer.Length)
    40. ListBox1.Items.Add(ladebuffer)
    41. Loop
    42. End If
    43. End Sub
    44. Private Sub BtnDelSel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelSel.Click
    45. ListBox1.Items.Remove(Me.ListBox1.SelectedItem)
    46. End Sub
    47. Private Sub BtnDelAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelAll.Click
    48. ListBox1.Items.Clear()
    49. End Sub
    50. End Class




    Projektmappe:

    Listbox zu Settings.7z

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Derfuhr“ ()