À l'aide de la fonctionnalité saisie semi-automatique de la zone de liste déroulante, tout en limitant les valeurs à ceux de la liste?

En WinForms 2.0, une liste déroulante a une fonctionnalité d'Auto-complétion, qui affiche une coutume liste Déroulante avec les valeurs qui commencent par le texte saisi.

Cependant, si je veux limiter les valeurs valides uniquement à celles qui apparaissent dans la zone de liste déroulante la liste des éléments, je peux le faire que par le réglage de la DropDownStyle à DropDownList, qui s'arrête à l'utilisateur de saisir une valeur.

Cependant, maintenant, je ne peux pas utiliser la fonctionnalité d'Auto-complétion, ce qui nécessite la saisie de l'utilisateur.

Est-il une autre façon de limiter les entrées de la liste, tout en permettant l'utilisation de la fonctionnalité d'Auto-complétion? Notez que j'ai vu certaines solutions personnalisées pour cela, mais j'aime vraiment la façon dont la mise en correspondance Automatique, les éléments sont affichés dans une liste Déroulante, et triés même si la liste d'origine peut ne pas l'être.

EDIT: j'ai pensé juste de valider la valeur saisie, c'est à dire les tests de la saisie de l'utilisateur si elle est valide dans, disons, la TextChanged événement, ou même à l'aide de la Validating événement. La question qui se pose alors est ce qui est le comportement attendu? Puis-je effacer de leur valeur (une valeur vide est également invalide), ou dois-je utiliser une valeur par défaut? La plus proche valeur correspondante?

P. s. Est-il d'autres balises que je pourrais ajouter à cette question?

InformationsquelleAutor Schmuli | 2009-01-14