ListBox Problem (Meldung bei nicht gewähltem Item)

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Hawk1337.

    ListBox Problem (Meldung bei nicht gewähltem Item)

    Hallo zusammen

    Ich will ein ListBox-Item löschen.
    Das mache ich mit RemoveAt(Index).
    Der Index ist das Markierte Item: Dim Index As String = ListBox1.SelectedIndex

    Wenn ich aber kein Item markiert habe kommt eine LOGISCHE Fehlermeldung.

    Am besten frage ich den PC mit einer If-Anwendung , ob ein Item gewählt ist, und wenn nicht, die Fehlermeldung
    MessageBox.Show("Bitte wählen Sie einen Eintrag aus!","Achtung")

    Tipps?

    Lg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    Hay,
    Selectedindex gibt nur die Position des Items an ( also eine Zahl sprich Integer ).
    Zur Sicherheit würde ich im Formload ein Item schonmal selecten.
    Dann kann es zu keinem Fehler mehr kommen.

    Du kannst es also so machen:

    VB.NET-Quellcode

    1. ListBox1.SetSelected(0, True)
    2. ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)



    Mfg Kevin.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gutelaunetyp“ ()

    Selectedindex gibt nur die Position des Items an ( also eine Zahl sprich Integer ).
    Zur Sicherheit würde ich im Formload ein Item schonmal selecten.
    Dann kann es zu keinem Fehler mehr kommen.

    ja richtig und es gibt somit auch aus, ob überhaupt etwas Selektiert ist und wenn du im Form_Load Event direkt etwas selektierst, kann dies auch vom User wieder deselektiert werden...

    Wenn SelectedIndex > -1 dann ist etwas selektiert...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Sorry hab mich schlecht ausgedrückt.

    Ich meine, wie kann eine MessageBox zeigen wenn kein Item in der ListBox markiert ist, wenn ich auf einen Button drücke?

    Hawk1337 schrieb:

    if listbox1.selecteditems.count <> 0 ?

    Das bedeutet das kein Item in der ListBox ist, und nicht das kein Item markiert wurde. Aber trotzdem Danke.

    Gutelaunetyp schrieb:

    ListBox1.SetSelected(0, True)

    Das lösch mir ja alle Einträge ?( ...

    jvbsl schrieb:

    Wenn SelectedIndex > -1 dann ist etwas selektiert...

    Genau das suche ich, einfach nur umgekehrt: Wenn SelectedIndex =< -1 dann soll er mir das erste Item in der ListBox selectieren.

    Doch wie mache ich das ?

    Lg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    so wie dus geschrieben hast(wobei das kleiner Zeichen weggelassen werden kann, da dieser Fall nie eintreffen wird) mit "Wenn SelectedIndex = -1"...das wirste jetzt wohl noch in VB übersetzt bekommen...
    if listbox1.selecteditems.count <> 0 ?
    zeigt dir an ob mehr als 0 Items selektiert sind und sollte somit auch richtig sein(wobei auch hier das kleiner Zeichen unnötig ist, da dieser Fall niemals Eintrifft...)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---