J'ai une zone de texte qui envoie des commandes à un instrument. J'ai ajouté la fonction d'autocomplete à cette zone de texte et les choses vont plus facilement maintenant.
Ce que je pense améliorer cela, c'est d'ajouter une possibilité que lorsque l'utilisateur entre une commande (juste un texte) alors que SANCOMPOMPÈRE trouve un match. Une description de cette commande. P>
Pour le moment, j'ai toutes les chaînes autocomplètes dans un fichier texte et je le charre lorsque l'application commence. Le texte de texte contient des lignes telles que ceci: p> donc ce qui se passe dans mon application est que, comme le mode Dutocompléte est dans Ce que j'ai besoin de savoir, c'est comment forcer l'autocomplete à ajouter le texte alors que son p> update 1 strong>
OK, je pense que le seul moyen est de faire une nouvelle classe et d'hériter de p> < p> SuggenAppend code> Mode, la description de la commande pénètre dans la zone de texte (ce sera le même si je ne le mettrai que dans
suggérer code> mode) p>
# code> char en ajoutant le texte suggéré li>
autocompletringcollection code> et dans cette nouvelle classe, annuler la méthode de retour du texte suggéré (ajoute). Je n'ai vraiment aucune idée de ce que je dois faire: p>
autocompletringcollection code> ne sont pas remplacées. Je cherche un moyen de changer la méthode de la méthode
[] code> (pour être honnête, je ne sais pas quoi l'appeler!) Fonctionne. Est-ce que quelqu'un a une idée de cela? P>
5 Réponses :
Rester avec l'utilisation de la méthode Vous pouvez utiliser l'événement de cette façon, la description reste dans la liste complète automatique, mais dès que vous onglet ou laissez le Textbox, seule la commande reste. p> p> Suggérer CODE> et charger votre fichier texte sous forme de source personnalisée pour la fonctionnalité complète automatique de la zone de texte.
laisser code> de la zone de texte pour supprimer tout texte après # et couper le résultat: p>
Bonjour, merci de réponse. Je suis désolé que j'ai oublié de mentionner que je dispose également d'un événement de clé pour la zone de texte qui sur la touche Entrée passera la commande à l'instrument. Cela devrait également être pris en charge (je pense que ce sera la même chose que votre méthode ...) Je vais l'essayer bientôt.
La propriété autocomplete de TEXTBOX est définie suggestionAppend, ce qui signifie qu'il ajoute à la fois le texte et la description. Donc, vous devez définir une propriété autocomplete de Textbox sur la valeur "Suggérer" uniquement.
Selon MSDN, la propriété Autocomplecte peut prendre quatre valeurs d'énumjet à savoir p>
Les valeurs suivantes sont les valeurs d'autocompletémode: P>
Append : Appends the remainder of the most likely candidate string to the existing characters, highlighting the appended characters. Suggest : Displays the auxiliary drop-down list associated with the edit control. This drop-down is populated with one or more suggested completion strings. SuggestAppend : Appends both Suggest and Append options. None : Disables automatic completion. This is the default.
Hmmm ... Même en mode Suggérien, si l'utilisateur appuyez sur Entrée, la chaîne suggérée sélectionnée entrera dans la zone de texte, aucune différence par rapport à la suggestion.
Je pense qu'il y a un moulage de code. Vous devez probablement vérifier depuis le début. J'ai collé le lien qui a un exemple complet, vous pouvez l'utiliser comme référence et croisement de la vérification. TECHNET.MICROSOFT.COM/EN-US/QUERY/CHFF42ZW
Voici le lien qui a l'exemple complet pour l'autocomplete
http://technet.microsoft.com/en-us/query/chff42zw
Plutôt que d'essayer de combattre la fonctionnalité automatique de la mise en œuvre de Microsoft, je vous suggère fortement d'utiliser une combinaison de plusieurs colonnes à la place. P>
Tous ceux que nous avons utilisés en matière d'achèvement de la prise en charge de support, vous pouvez donc stocker votre commande dans la première colonne et avoir votre valeur, puis stockez votre description dans la deuxième colonne. P>
Il existe un énorme nombre de contrôles disponibles à l'achat (Infragisme, Intersoft, SyncFusion, etc.) et vous pouvez probablement trouver des versions gratuites ou auto-construites sur divers sites tels que CodeProject. P>
Aller à cet itinéraire devrait vous faire gagner beaucoup de temps. P>
comme réponse à votre mise à jour nr. 2: La [] est en fait une propriété d'index.
Votre classe implémente une collection. Vous pouvez obtenir un objet à Index X à l'aide du code codunique: p>
public string this[int index] {get ...} {set...}
Pouvez-vous publier votre code existant de manipulation de l'autocalistion? Il est plus facile de suggérer une solution de code en regardant le code.
Peut-être devriez-vous utiliser
.ReMove (base.text.lastindexof ('#'), base.text.longueur - 1) .trim (); code> dans le moment où vous chargez le fichier.
Non! Toute l'idée est d'afficher le texte après # à l'intérieur de la boîte automatique! Je veux juste que ce ne passe pas dans ma boîte de texte.
[] s'appelle un indexeur. C'est ce qu'on appelle un indexeur parce que vous y mettez un index.