Comment déclencher un événement lorsque l'onglet est enfoncée dans une zone de texte?
Pour l'application en cours, je travaille sur je veux simuler une zone de liste modifiable à l'aide de mon propre contrôle personnalisé comme je veux qu'il soit multi colonne et ont des fonctionnalités supplémentaires. Je suis l'aide d'une zone de texte et un datagridview pour ce faire.
Je veux reproduire le suggèrent/ajout qui peut être utilisé avec une zone de liste modifiable. J'ai un travail formidable. L'utilisateur peut commencer à taper, permet d'obtenir une liste de suggestions et pouvez utiliser les touches haut et bas pour faire défiler à travers les entrées.
J'ai déjà pris au piège de la touche entrée pour prendre la ligne sélectionnée comme valeur. Cela fonctionne parfaitement, mais j'aimerais aussi pour intercepter la touche de tabulation et de faire de même, à l'instar de la fonctionnalité est déjà intégrée dans un contrôle zone de liste modifiable.
Le problème est que, évidemment vb.net utilise la touche tab pour déplacer le contrôle sélectionné et il déclenche avant que je puisse appeler mon sous-routine pour prendre la ligne sélectionnée à partir de mon datagridview. Je veux être en mesure d'annuler la tabulation de la commande, ou au moins trouver un moyen de feu mon code avant qu'il ne.
Merci d'avance.
OriginalL'auteur GeorgeK | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
La zone de texte a aussi un
AcceptsTab
propriété qui fonctionne quandMultiline = True
.Avec ces conditions, vous pouvez maintenant voir si l'onglet touche a été pressée:
OriginalL'auteur LarsTech
le problème est que dans ce cas, en appuyant sur la touche de TABULATION vont perdre de vue que l'élément d'entrée
vous avez besoin lié à l'événement keydown
et avec la fonction callback comme ce
je suppose que la logique derrière est le même
OriginalL'auteur derki