C# Combobox ändern ausgewählten Eintrag während der Eingabe in text
Habe ich eine combobox. Die cmbx hatte ein paar hundert Elemente. Der Benutzer muss in der Lage sein, um die Eingabe von text in die cmbx. Während der Benutzer Text eingibt in den text, das Element, das beginnt mit dem eingegebenen Wert muss ausgewählt werden. Der Benutzer muss in der Lage sein, um mit der Eingabe fortfahren.
Habe ich versucht den folgenden code:
private void cmbGageCode_TextChanged(object sender, EventArgs e)
{
int itemsIndex = 0;
foreach (string item in cmbGageCode.Items)
{
if (item.Contains(cmbGageCode.Text))
{
cmbGageCode.SelectedIndex = itemsIndex;
}
itemsIndex++;
}
}
Diese Ergebnisse in die folgende: Wenn ein Benutzer in der cmbx das Element mit dem Wert markiert, und der cursor befindet sich an der Vorderseite des Textes. Dies bedeutet, dass, wenn je 2 Zeichen, die ein Element ausgewählt ist, und ich bin nicht in der Lage zu geben, den vollständigen Wert.
Hat jemand eine Idee, wie man diese Arbeit zu machen? Vielleicht brauche ich, um eine andere Steuerung? Oder vielleicht werde ich über diese in der komplett falschen Weg? Bitte um Hilfe!!
- Haben Sie versucht, mithilfe der integrierten Unterstützung für Auto-Vervollständigung? Es gibt keinen Grund zu schreiben, die routine selbst oder verwenden Sie eine Drittanbieter-Steuerelement, wenn die built-in-Unterstützung ist vollkommen ausreichend.
- Es ist ein nettes kostenloses c# AutoVervollständigen-Steuerelement verfügbar (source-code), ist leicht zu modifizieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diesen code.
Lassen Sie mich wissen, wenn dies ist, was Sie wollen.
Mit
AutoCompleteMode
eingestelltSuggestAppend
undAutoCompleteSource
eingestelltListItems
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.autocompletesource.aspx
Gibt es eine eingebaute Unterstützung für
auto-complete
, die Sie tun können,Erste Antwort für ist Cody Grau, der Grund, die ich brauchte, war, dass mein dialog wird verwendet, in einer Anwendung, die nicht Mitarbeiter und ich schaffen es nicht STA. AutoVervollständigen scheint zu verlangen, STA. So, ich musste es selbst tun. Ich habe gemacht, was ich denke, sind einige Verbesserungen zu Skintkingle die Antwort, und es funktioniert Super.