Combobox Reset

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von BjöNi.

    Combobox Reset

    Hallo,
    hab hier mal ne ganz grundlegende Frage, die eigentlich ganz einfach scheint (und wahrscheinlich für jeden außer mir auch ist :rolleyes: ) ...
    Ich habe eine ComboBox in einem Formular, die verschiedene Items hat, und am Anfang einen nicht in der Liste sichtbaren Text "Bitte wählen..." anzeigt.
    Soweit klappt's ja, aber wenn ich im Code für das resetten z.B.

    VB.NET-Quellcode

    1. Combobox1.Text = "Bitte wählen..."
    angebe, macht das Programm nicht mehr mit und bleibt einfach beim zuletzt ausgewählten Item.
    Woran könnte das liegen? Muss ich "Bitte wählen..." als Item hinzufügen? Das wäre nicht so gut weil das ja ausgewählt werden soll...
    Danke,
    BjöNi
    stackoverflow.com/questions/80…box-when-no-item-selected

    Scheint nicht so einfach zu sein, wenn deine ComboBox den Stlyle DropDownList hat, was wohl der Fall ist.
    Am besten fügst du "Bitte wählen..." einfach als Item hinzu. Du kannst abfragen, ob der Benutzer es ausgewählt hat.
    Falls ja, selektierst du einfach wieder das zuletzt ausgewählte Item.
    Am besten fügst du "Bitte wählen..." einfach als Item hinzu. Du kannst abfragen, ob der Benutzer es ausgewählt hat.
    Schon klar, aber ganau das wollte ich ja nicht!
    Danke,ich guck mir mal den Link an...

    ---------------------
    Edit:
    Ich glaub es ist der Mühe nicht wert, sich
    a) c# in vb umzuformen und
    b) sich durch die hundert
    c) englischen Antworten zu fieseln, bei denen
    d) mit DLLs gearbeitet wird...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BjöNi“ ()

    Weitere Möglichkeit:
    Beim ersten Klick auf die ComboBox einfach "Bitte wählen..." entfernen.
    Das sollte genau das von dir gewünschte Verhalten erzielen.
    Ja, und wenn der Benutzer dann wieder von der Combobox weggeht?
    Ich glaub, das ist (siehe Edit oben) der Mühe wirklich nicht wert...

    EDIT:
    Kleine Frage noch: bin gerade noch über die Option "ResetText" gestoplert. Hat zwar auch nicht funktioniert, aber weiß jemand, wozu das gut ist? Die Hilfe gibt nicht an.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BjöNi“ ()

    BjöNi schrieb:

    Edit:
    Ich glaub es ist der Mühe nicht wert, sich
    a) c# in vb umzuformen und
    b) sich durch die hundert
    c) englischen Antworten zu fieseln, bei denen
    d) mit DLLs gearbeitet wird...

    MANCHMAL ... hat stackoverflow NICHT die richtige Antwort ;)

    Mit VB2010 funzt folgendes völlig problemlos:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. ComboBox1.Items.AddRange({"A", "B", "C", "D"})
    4. ComboBox1.Text = "foo"
    5. End Sub
    6. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    7. ComboBox1.SelectedIndex = -1
    8. ComboBox1.Text = "foo"
    9. End Sub
    10. End Class


    Wenn das mit VB2005 nicht geht, warum geht der Wechsel auf 2010 nicht?
    Danke, funzt auch bei VB 2005 problemlos - bin nur nicht darauf gekommen, SelectedIndex auf -1 (?!) zu setzen...