Aus mehreren Listboxen gleichzeitig Items löschen

  • VB.NET

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

    Aus mehreren Listboxen gleichzeitig Items löschen

    Hi,

    Ich habe 3 listboxen und will bei jeder auf knopfdruck das ausgewählte item löschen.
    Ich habe es schon hingekriegt das bei allen immer der gleiche index ausgewählt ist.

    Ich habe es versucht mit:

    VB.NET-Quellcode

    1. listbox1.items.remove(listbox1.selecteditem)
    2. listbox2.items.remove(listbox2.selecteditem)
    3. listbox3.items.remove(listbox3.selecteditem)



    Als ich es dann ausprobiert habe wurde nur bei listbox 1 das ausgewählte item gelöscht!

    Hoffentlich kann mir jemand helfen ?( ?( ?(
    Hier ist der Quellcode vom ganzen:

    VB.NET-Quellcode

    1. Public Class Adressbuch
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. ListBox1.Items.Add(InputBox("Bitte Vorname eingeben"))
    4. ListBox2.Items.Add(InputBox("Bitte Nachname eingeben"))
    5. ListBox3.Items.Add(InputBox("Bitte Email eingeben"))
    6. End Sub
    7. Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
    8. ListBox2.SelectedIndex = ListBox1.SelectedIndex
    9. ListBox3.SelectedIndex = ListBox1.SelectedIndex
    10. End Sub
    11. Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
    12. ListBox1.SelectedIndex = ListBox2.SelectedIndex
    13. ListBox3.SelectedIndex = ListBox2.SelectedIndex
    14. End Sub
    15. Private Sub ListBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox3.SelectedIndexChanged
    16. ListBox2.SelectedIndex = ListBox3.SelectedIndex
    17. ListBox1.SelectedIndex = ListBox3.SelectedIndex
    18. End Sub
    19. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    20. ListBox1.Items.Add(ListBox1.SelectedItem)
    21. ListBox2.Items.Add(ListBox2.SelectedItem)
    22. ListBox3.Items.Add(ListBox3.SelectedItem)
    23. End Sub
    24. End Class


    Bitte um schnelle Antwort
    Hi Du!
    So, hab nochmal nachgebastelt, um zu verstehen, was Du meinst.
    "Problem" tritt auch bei mir auf. Debuggen hat gezeigt, dass das ja auch so sein muss ...
    Wenn wir es so machen:

    VB.NET-Quellcode

    1. ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)

    is doch (jetzt) klar, dass das nicht geht. Denn wenn der selektierte Eintrag aus ListBox1 gelöscht wird ändert sich in diesem Moment der Index. Du hast aber Code geschrieben, das etwas passieren soll, wenn sich dieser ändert. Es ist jetzt nix mehr ausgewählt und nun weiß Dein Prog nicht mehr was es bei den anderen 2 ListBoxen machen soll bzw. in Listbox1 ist nix mehr ausgewählt & daher wird in den andern 2 auch nix jemacht respektive Fehler zwecks Index.
    Gruß & ...
    Lächle heut, morgen wird's schlimmer !!!

    Buch lesen | Bitte VB Tags benutzen - was ist damit gemeint? |