Laden...

Wie kann ich die Reaktion auf Eingabe in ComboBox/TextBox verzögern?

Erstellt von MoaByter vor 3 Jahren Letzter Beitrag vor 3 Jahren 439 Views
M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 3 Jahren
Wie kann ich die Reaktion auf Eingabe in ComboBox/TextBox verzögern?

hai Leute,

ich habe eine Liste/ein Array mit reichlich Einträgen. Diese Liste möchte ich nach einem Text durchsuchen, den ich in die ComboBox/TextBox eingebe.
Über das Event TextChanged startet üblicherweise die Suche. Nun möchte ich aber eben diesen Start verzögern, wenn ich mehrere Zeichen kurz nacheinander in die TextBox eingebe. Bei Windows funktioniert das gut, in meinem Programm bekomm' ich's nicht hin, da ja jede Änderung des Textes eine neue Suche in einer neuen Instanz (?) startet.

bei meiner Internetsuche hat mir der im Titel genannte Suchbegriff (oder ähnliches) nicht geholfen. Habt ihr 'nen Tipp, wonach ich suchen muss? Den passenden Code bastele ich mir dann schon.
Ich weiß eben nur nicht, wie und wo ich ansetzen muss.

Danke im Voraus, viele Grüße, ein schönes neues Jahr an alle - ...lypô

F
10.010 Beiträge seit 2004
vor 3 Jahren

In deutsch wirst du in der Programmierung auch wenig finden.

Erstelle in der Form einen WindowsForms Timer .
Wenn TextChanged ausgelöst wird stoppe und starte ihn.
bei Ablauf mach deine Suche.

5.657 Beiträge seit 2006
vor 3 Jahren

Wenn du System.Reactive.Linq verwendest, kannst du die einfach die Events als Observable abonnieren und die Observable.Throttle-Methode verwenden. In der Doku gibt es ein Beispiel.

Weeks of programming can save you hours of planning

P
57 Beiträge seit 2017
vor 3 Jahren

Auch wenn schon ein paar Tage alt.....

....aber besteht die Notwendigkeit direkt ab dem ersten Zeichen zu filtern?

Sonst könntest du im TextChanged Event entsprechend auf die Länge des eingegebenen Strings prüfen und
erst dann das aufrufen, wenn die Minimallänge überschritten wurde.

Ansonsten gibt's da ein Property bei der ComboBox (AutoComplete): ComboBox.AutoCompleteMode Eigenschaft

Das könntest du dir mal ansehen.

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....