Heim >Backend-Entwicklung >C++ >Wie kann ich eine benutzerdefinierte AutoVervollständigen-Funktion in C#-Textfeldern erstellen, die den Nicht-Präfix-Abgleich unterstützt?
Benutzerdefinierte automatische Vervollständigung für C#-Textfelder
Bei der Implementierung der Autovervollständigungsfunktion in C#-Textfeldern ist es oft wünschenswert, Benutzern das Vervollständigen von Einträgen unabhängig von der Reihenfolge zu ermöglichen in dem sie tippen. Wenn beispielsweise ein Eintrag mit dem Format „[001] Nachname, Vorname Mitte“ vorhanden ist, sollte er in den Ergebnissen der automatischen Vervollständigung erscheinen, wenn der Benutzer „John“ als Vornamen eingibt.
Einschränkungen der Standardeinstellung AutoComplete
Die standardmäßige AutoComplete-Funktionalität in C# unterstützt nur den Präfixabgleich. Das bedeutet, dass Benutzer den Anfang des Eintrags eingeben müssen, um die automatische Vervollständigung auszulösen.
AutoVervollständigen mit benutzerdefinierter Ereignisbehandlung überschreiben
Um diese Einschränkung zu umgehen, können Sie eine benutzerdefinierte automatische Vervollständigung implementieren Funktion durch Überschreiben des OnTextChanged-Ereignisses. Dadurch können Sie die Texteingabe verarbeiten und relevante Autovervollständigungsergebnisse dynamisch anzeigen.
Beispielimplementierung
Das folgende Beispiel zeigt, wie Sie eine rudimentäre Autovervollständigungsfunktion mithilfe einer ListBox erstellen:
Benutzerdefinierte Funktion
Hier ist ein Beispiel für die Implementierung der benutzerdefinierten Funktion Autovervollständigungsfunktion beschrieben oben:
private void textBox1_TextChanged(object sender, System.EventArgs e) { listBox1.Items.Clear(); if (textBox1.Text.Length == 0) { hideResults(); return; } foreach (String s in textBox1.AutoCompleteCustomSource) { if (s.Contains(textBox1.Text)) { Console.WriteLine("Found text in: " + s); listBox1.Items.Add(s); listBox1.Visible = true; } } }
Verbesserungen
Diese grundlegende Implementierung kann durch das Hinzufügen von Funktionen wie dem Anhängen von Text an die TextBox, der Erfassung zusätzlicher Tastaturbefehle und der Implementierung einer Filterung erweitert werden nach komplexeren Kriterien.
Das obige ist der detaillierte Inhalt vonWie kann ich eine benutzerdefinierte AutoVervollständigen-Funktion in C#-Textfeldern erstellen, die den Nicht-Präfix-Abgleich unterstützt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!