Manuelle Eingabe in ComboBox

22/11/2007 - 14:42 von Klaus Gollin | Report spam
Hallo liebe Newsgroup-Leser,

eigentlich betrifft diese Frage das .net Framework 2.0, wo ich meine Frage
auch schon gepostet habe, aber ich habe dort leider keine Antwort erhalten.
Deshalb hier vielleicht nochmal:

Ich verwende eine ComboBox (Typ DropDown), die zur Laufzeit mit
Listeneintràgen gefüllt wird.

Gibt ein Benutzer einen Listeneintrag über die Tastatur ein, erhalte ich
beim Leave-Ereignis die Eigenschaft SelectedItem = - 1 - und zwar unabhàngig
davon ob der Listeneintrag bereits vorhanden ist. Gleiches gilt für das
Ereignis SelectedValueChanged.

Nun möchte ich aber erkennen, ob der eingegebene Eintrag bereits vorhanden
ist oder nicht.

Hat jemand einen Tip, wie das bewerkstelligt wird?

Vielen Dank im Voraus
 

Lesen sie die antworten

#1 Thorsten Doerfler
22/11/2007 - 16:26 | Warnen spam
Klaus Gollin schrieb:
Ich verwende eine ComboBox (Typ DropDown), die zur Laufzeit mit
Listeneintràgen gefüllt wird.

Gibt ein Benutzer einen Listeneintrag über die Tastatur ein, erhalte ich
beim Leave-Ereignis die Eigenschaft SelectedItem = - 1 - und zwar unabhàngig
davon ob der Listeneintrag bereits vorhanden ist. Gleiches gilt für das
Ereignis SelectedValueChanged.

Nun möchte ich aber erkennen, ob der eingegebene Eintrag bereits vorhanden
ist oder nicht.



Da hilft Dir die ComboBox.FindString Methode bzw.
ComboBox.FindStringExact Methode weiter. Letztere erscheint mir die
geeignetere zu sein, aber das hàngt von Deinem Anwendungsfall ab:

Private Sub ComboBox1_Validating( _
ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs _
) Handles ComboBox1.Validating

Dim lCombo As ComboBox = CType(sender, ComboBox)

If lCombo.SelectedIndex = -1 Then
lCombo.SelectedIndex = lCombo.FindStringExact(lCombo.Text)
End If

If lCombo.SelectedIndex = -1 AndAlso _
MsgBox("Eintrag nicht in der Liste. Hinzufügen?", _
MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
lCombo.SelectedIndex = lCombo.Items.Add(lCombo.Text)
End If
End Sub

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen