Remplacer Winforms ComboBox Autocomplete Suggérer une règle
Je suis en train de modifier le comportement d'un Windows.Les formes ComboBox, de sorte que la saisie semi-automatique de liste déroulante affiche les éléments selon les règles que j'ai préciser.
Par défaut, si vous utilisez la saisie semi-automatique dans une zone de liste déroulante, la règle qui est suivie est "la chaîne s est inclus dans la liste déroulante, si.StartsWith( userEnteredTextInTheComboBox) )" Tout ce que je suis vraiment intéressé par la substitution d'une nouvelle règle pour l'actuel, mais je ne trouve pas de moyen d'obtenir cela. (Plus précisément, je préfère s.Contient au lieu de s.StartsWith.)
Je peux quelque chose ensemble, un maladroit solution à l'aide de deux boutons au lieu d'un, mais j'aimerais vraiment être plus heureux avec celle qui a effectivement fait ce que je veux.
Mise à jour: j'ai trouvé essentiellement la même question après quelques recherches. La réponse fournie, il suggère que l'aide de deux commandes de "faux" c'est le chemin à parcourir.
source d'informationauteur user272551
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et cherché une solution rapide.
J'ai fini de l'écrire moi-même. C'est un peu sale, mais il ne devrait pas être difficile pour le rendre encore meilleur si nécessaire.
L'idée est de re-construction de la combo liste après chaque pression d'une touche. De cette façon, nous pouvons compter sur le combo intégré dans l'interface, et nous n'avons pas besoin de mettre en œuvre une interface avec un textbox et un contrôle listbox...
Juste n'oubliez pas de régler
combo.Tag
ànull
si vous re-construire le combo de la liste des options.Avant Windows Vista, la saisie semi-automatique de l'objet match les candidats avec le préfixe seulementsi vous avez besoin de faire cuire votre propre.
Si vous avez besoin de réinitialiser la liste de suggestion lorsqu'elle est visible, utilisation IAutoCompleteDropDown::ResetEnumerator.