Bestimmtes Item aus Listbox löschen

  • VB.NET
  • .NET 4.5

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

    Bestimmtes Item aus Listbox löschen

    Hallo!

    Ich möchte, dass wenn ein bestimmtes Item in der Listbox ist, dass das letzte Item in der Listbox gelöscht wird (das bestimmte Item ist an letzter Stelle)
    Das ist mein Codevorschlag der nicht funktioniert: ?(

    VB.NET-Quellcode

    1. If ListBox1.Items.Contains("AUSSCHALTEN") Then
    2. ListBox1.Items.RemoveAt(ListBox1.Items.Count)
    3. End If


    LG

    VB.NET-Quellcode

    1. ListBox1.Items.RemoveAt(ListBox1.Items.Count - 1)
    wäre wohl richtig.
    Count = Anzahl der Items. Ein Item in der Liste -> Count = 1. Aber der Index, um darauf zuzugreifen ist 0!, da die Indizes bei so ziemlich allen Auflistungen 0-basiert sind.

    Edit: Weil in letzter Zeit häufiger mal das Thema kam, hier noch eine allgemeine For-Schleifen-Löschfunktion:

    VB.NET-Quellcode

    1. For i = ListBox1.Items.Count - 1 To 0 Step -1
    2. If ListBox1.Items(i).ToString.Contains("Dein Text") Then ListBox1.Items.RemoveAt(i)
    3. Next

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

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

    @VaporiZed Nicht wäre wohl richtig sondern ist richtig. :D
    @Jonny98731 Machst Du einfach

    VB.NET-Quellcode

    1. ListBox1.Items.RemoveAt(ListBox1.Items.Count - 1)

    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).
    VB-Fragen über PN / Konversation werden ignoriert!
    Bessere wäre es, wenn du ein
    List<of ListViewItem> anlegst und dann dort herraus das das letzte Item löscht und dann wieder das ListView neu einliest ;D

    Liste -> Letztes Item löschen -> ListView Clear -> ListView neu einlesen