Mehrere items aus ListBox löschen

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Mehrere items aus ListBox löschen

    Hallo

    Ich habe folgendes Problem.

    Ich habe eine ListBox wo ich von einer Textdatei den Inhalt reinlade.
    Nun möchte ich aber bestimmte Zeilen löschen.
    Diese Stehen in einer anderen Text Datei.

    Mein Bisheriger Code:

    Quellcode

    1. ​Sub Filter()
    2. Dim lines() As String = IO.File.ReadAllLines(path.Text & pc.Text & ".txt")
    3. slist.Items.AddRange(lines)
    4. Dim remlines() As String = IO.File.ReadAllLines(path.Text & "STANDARD.txt")
    5. slist.Items.Remove(remlines)
    6. End Sub



    Was mache ich falsch ?

    LG
    Hitmare
    Remove entfernt nur ein einzelnes Item und nicht alle. Es gibt dazu auch keine Methode von MS, d.h. du musst durch jede Zeile der zweiten Datei durchiterieren und diese dann entfernen.

    Damit du es dir nochmal nachlesen kannst:
    Items.Remove: msdn.microsoft.com/de-de/libra…ion.remove(v=vs.110).aspx
    Hier alle Methoden, die dir die ObjectCollection zur Verfügung stellt: msdn.microsoft.com/de-de/libra…collection(v=vs.110).aspx

    LG :)
    von ListboxItems würde ich eher garnix löschen - auch wird davon in Datei2 ja nix gelöscht.

    Also was ich anbieten könnte wäre eine sehr elegante Linq-Formulierung, die alle lines aus Datei2 enthält, mit Ausnahme der in Datei1 vorgefundenen.

    Aber das ist weder eine Datei noch eine Listbox, sondern das ist nur eine Auflistung von Strings.
    Man könnte Datei2 damit überschreiben, und sie auch in der Listbox als DataSource angeben, wenn man wollte.
    Nur ist mir nicht klar was gewollt ist: gesprochen wird von Dateien und Listboxen, Code gezeigt aber von Dateien und Strings.