Angehakte Items einer Checkedlistbox speichern/auslesen.

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Nitro-X.

    Angehakte Items einer Checkedlistbox speichern/auslesen.

    Hallo, wie schon in der Überschrift zu sehen ist, will ich die angehackten Einträge meiner Checkedlistbox auslesen und wieder abspeichern.

    Hierzu habe ich schon den Richtigen Code, allerdings kann ich die Namen der "Ex-angehakten" Checkedlistbox Items nicht so auswerten lassen, dass diese anhand des Namens wieder angehakt werden.

    Hier noch der Code:

    VB.NET-Quellcode

    1. Private Sub frm_test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Using sr As New IO.StreamReader("F:\Dokumente und Einstellungen\Michi\Desktop\mitglieder.txt")
    3. While sr.Peek <> -1
    4. CheckedListBox1.CheckedItems.Contains(sr.ReadLine)
    5. End While
    6. End Using
    7. End Sub
    8. Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    9. Using sw As New IO.StreamWriter("F:\Dokumente und Einstellungen\Michi\Desktop\mitglieder.txt", False)
    10. For i As Integer = 0 To CheckedListBox1.CheckedItems.Count - 1
    11. sw.WriteLine(CheckedListBox1.CheckedItems(i))
    12. Next
    13. End Using
    14. End Sub



    Edit by LaMa5:
    - was sollte denn diese sinnfreie Umfrage?
    --> Umfrage "Thread hilfreich?" entfernt.
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „LaMa5“ ()

    Vielmals Danke.

    Hallo, Vielmals Danke dass ich hier nicht im Stich gelassen werde.

    In meinem Programm lade ich die Dateinamen aller .exe/.bat Dateien aus einem bestimmten Ordner als CheckedlistboxItems. Wenn ich einen Button klicke dann startet es die in der Checkedlistbox ausgewählten .exe/.bat Dateien per "Shell"-Befehl, ... Das alles Funktioniert, lediglich finde ich keine Lösung für das Abspeichern und wieder Auslesen der gecheckten Items, damit sie beim Form-Load wieder gecheckt sind.

    Einen eigentlich passenden Code habe ich gefunden (normal für Listboxen gemacht), sogar hier im Forum, vielen Dank auch dafür. Aber das Auslesen/Checken der Items (die ja eigentlich Variabel sind und sich jeder zeit ändern können) einfach nicht hin. An der Stelle benötige ich Hilfe, siehe Code oben.
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if
    WOW, VIELEN HERZLICHEN DANK.
    Hoffe dass ich auch mal helfen kann.

    EDIT: SCHUSS IN DEN OFEN, HAB LEIDER ERST JETZT BEMERKT DASS, DER CODE FÜR CHECKBOXEN IST!
    ICH SUCHE WEITERHIN WIE ES SCHON IN DER "Überschrift" STEHT EINEN CODE FÜR CHECKEDLISTBOXEN!
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nitro-X“ ()

    OK, eigentlich wollte ich eine .txt mit den untereinander gelisteten Itemnamen auslesen und anhand der Itemnamen dann die so heißenden Items Checken z.B. Das Item mit dem Namen A wurde gecheckt, beim Form_Close wurde der Itemname in die .txt Datei gespeichert. Beim nächsten Form_Load wird die txt ausgelesen und anhand der dort stehenden Namen (also A) wird jetzt das Checkedlistboxitem mit dem Namen "A" gecheckt.

    Siehe Code in meinem ersten Post, das ist der besagte Code bei dem ich nicht weiterkam.
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if
    Super, Danke endlich funktioniert es.

    Werde das Resultat bald im Showroom vorstellen, ...

    Das ganze wird ein Systemoptimierer.

    Der Code funktioniert jetzt, das mit dem nicht ganz auf der höhe sein, kenne ich gut, hab meine letzten Osterferien krank im Wohnzimmer verbracht und kam so gut wie nur einmal raus als es mir besser ging.
    Weil meiner Lehrerin (Single) die mich offensichtlich angesteckt hatte, gemeint hat ihr fliegt @home die Decke auf den Kopf und muss unbedingt - weil sie ja knapp an der Lungenentzündung vorbei war - wieder in die Schule kommen.

    VB.NET-Quellcode

    1. Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Using sr As New IO.StreamReader("C:\Ordnerpfadeingeben\beispiel.txt")
    3. Dim i As Integer
    4. For i = 0 To CheckedListBox1.Items.Count - 1
    5. If CheckedListBox1.Items(i).Equals(sr.ReadLine) Then
    6. CheckedListBox1.SetItemChecked(i, True)
    7. End If
    8. Next
    9. End Using
    10. End Sub
    11. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    12. Using sw As New IO.StreamWriter("C:\Ordnerpfadeingeben\beispiel.txt", False)
    13. For i As Integer = 0 To CheckedListBox1.CheckedItems.Count - 1
    14. sw.WriteLine(CheckedListBox1.CheckedItems(i))
    15. Next
    16. End Using
    17. End Sub


    @ Singu
    Ungültige Konvertierung von der Zeichenfolge Defragmentieren in Typ Integer.

    kam dabei raus als ich es mal mit

    VB.NET-Quellcode

    1. Private Sub frm_test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Using sr As New IO.StreamReader("F:\Dokumente und Einstellungen\Michi\Desktop\mitglieder.txt")
    3. While sr.Peek <> -1
    4. CheckedListBox1.SetItemChecked(sr.ReadLine, True)
    5. End While
    6. End Using
    7. End Sub

    probiert hatte. :D
    Dateien
    M.f.G. Nitro-X
    Gute Spieler cheaten schlecht! 8-)

    Button1.Visible = False
    If Button1.Click then Shell ("C:\brain.exe")
    end if

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nitro-X“ () aus folgendem Grund: Sourcecode für Noobs hinzugefügt.