Unsere Anwendung WinForms lädt die Daten zum automatischen Vervollständigen einer Textbox langsam. Der Pseudocode dafür ist wie folgt;
textBox.AutoCompleteCustomSource = fetchedAutoCompleteStringCollection;
setzen
Ich habe gerade Probleme mit # 6. Als Hack mache ich folgendes, um einen Tastendruck zu simulieren, der funktioniert, aber nicht in allen Situationen funktioniert.
%Vor%Es muss einen besseren Weg geben. Ich kann nicht glauben, dass ich die einzige Person bin, die Autovervollständigendaten asynchron holt. Wie soll ich das machen?
BEARBEITEN: Ein Win32-Aufruf, der dazu führt, dass die Dropdown-Liste "Auto-Abschließen" aktiviert wird, ist akzeptabel. Es macht mir nichts aus, PInvozieren, wenn ich muss.
Ich habe eine Async-Autocomplete-Klasse für eine TextBox geschrieben, die nur verwalteten Code verwendet. Hoffe es hilft.
%Vor%Beispielimplementierung:
%Vor%Wie man es benutzt:
%Vor% Normalerweise würden Sie COM-Interop verwenden und auf IAutoComplete
, IAutoComplete2
oder IAutoCompleteDropDown
Schnittstelle. Leider hat keine dieser Methoden Methoden, um die automatische Vervollständigung zu unterdrücken.
Vielleicht möchten Sie Spy ++ verwenden und sich die Windows-Meldungen ansehen, die an das Steuerelement gesendet werden, wenn die automatische Vervollständigung angezeigt wird. Sie könnten eine Befehlsnachricht finden, die es aktiviert. Natürlich ist dies ein Implementierungsdetail, aber es könnte der einzige Weg sein, hier zu gehen.
Tags und Links .net winforms autocomplete