Entwickler-Ecke

WinForms - Combobox überprüfen


DennisXX - Fr 26.08.11 13:37
Titel: Combobox überprüfen
Hallo zusammen !

Wie kann ich in einer IF Case überprüfen, ob in einer Combobox ein beliebiger Wert ausgewählt wurde? Und wie kann ich einer Combobox eine sichtbare Überschrift verpassen, die dort für den user drin steht, aber selbst keinen ausgewählten Wert repräsentiert?

Viele Grüße
Dennis


Ralf Jansen - Fr 26.08.11 14:46

Wenn du den Grau hinterlegten Hinweistext meinst den man in Windows Controls anzeigen kann solange nichts eingetragen ist (die Dinger heißen Cue Banner) dann kann das Winforms von Haus aus nicht. Die darunterliegende nativen Windows Controls aber natürlich schon. Wenn du nach dem Stichwort EM_SETCUEBANNER googelst solltest du ein paar Beispiel finden wie man das selbst per PInvoke dazu basteln kann.


DennisXX - Fr 26.08.11 15:19

Hallo !

Also ich meinte mit Combobox diese Auswahlfeld zum aufklappen, dass mir dann Werte zur Auswahl anzeigt. Ich wieß nicht ob du das auch meintest.

Viele Grüße
Dennis


Ralf Jansen - Fr 26.08.11 15:23

Ja. Meinte ich.


bakachan - Fr 26.08.11 15:28

Bei einer ComboBox ist es ziemlich einfach.
Überprüfen welches Item ausgewählt ist kannst du mit SelectedItem oder SelectedIndex. Wenn nichts ausgewählt wird gibts da null bzw -1 zurück.

Um vorher einen Textreinzuschreiben kannst du einfach die Text-Property setzen. (Falls du bei DropDownStyle DropDownList ausgewählt hast funktioniert das nicht).


DennisXX - Fr 26.08.11 15:28

Hallo nochmal !

Also ich möchte jetzt nicht unverschämt sein, aber ich verstehe irgendwie nicht so recht, wie ich dass in einen If Case einbauen könnte. Würdest du dich vielelicht dazu bereit erklären, mir das an einem kleinen Codeausschnitt zu verdeutlichen??

Vielen vielen Dank dafür !

Viele Grüße
Dennis


dark-destination1988 - Fr 26.08.11 15:50


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
switch(cbx.SelectedText)
{
case "test1":
//mach hier was
break;
case "test2":
//mach hier was anderes
break;
}


DennisXX - Fr 26.08.11 15:53

Hallo !

Danke schön, aber das ist ja eine switch Anweisung. Wie genau ist das denn bei einer If Anweisung? Ich möhcte ja nur prüfen, ob überhaupt etwas ausgewählt wurde?

Viele Grüße
Dennis


dark-destination1988 - Fr 26.08.11 15:55


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
if(cbx.SelectedIndex!=-1)
{
// es ist etwas ausgewählt
}
else
{
//nichts ausgewählt
}


DennisXX - Fr 26.08.11 16:03

Danke schön !!