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.
InformationsquelleAutor Bernhard | 2011-06-28
Schreibe einen Kommentar