Zone de texte Accepte touche de Tabulation
Si j'ai mis TextBox
propriété AcceptsTab
à True
cette condition dans TextBox_KeyDown
l'événement n'est pas de travail.
if (e.KeyCode == Keys.Tab)
{
if ((e.Control) && (e.Shift))
{
e.Handled = true;
if (Tabs.SelectedIndex > 0)
Tabs.SelectedIndex = Tabs.SelectedIndex - 1;
else
Tabs.SelectedIndex = Tabs.TabPages.Count - 1;
}
else if (e.Control)
{
e.Handled = true;
if (chatFormTabs.SelectedIndex < chatFormTabs.TabPages.Count - 1)
chatFormTabs.SelectedIndex = chatFormTabs.SelectedIndex + 1;
else
chatFormTabs.SelectedIndex = 0;
}
}
J'aimerais que cette condition dans la Forme de l'événement KeyDown, mais il ne fonctionne pas pour moi.
Quelqu'un peut-il me suggérer comment puis-je le faire:
- Zone de texte accepte la touche de tabulation et d'ajouter "\t" caractère à la position actuelle.
- Je vais être en mesure de changer les onglets en appuyant sur Ctrl+Tab ou Ctrl+Maj+Tab.
- Remplacer la forme du ProcessCmdKey() la méthode. Comment vous attendez-vous à un utilisateur de toujours découvrir ce?
- Merci beaucoup! C'est exactement ce que je veux.
Vous devez vous connecter pour publier un commentaire.
Essayer le PreviewKeyDown événement. J'ai eu un problème similaire (avec acceptant les touches fléchées) et il a très bien fonctionné.
PreviewKeyDown
événement que vous vérifiezif (e.KeyCode == Keys.Tab) e.IsInputKey = true;
Zone de texte ne sera pas accepter l'onglet sauf si vous êtes en mode multi-lignes. Basculer en mode multi-lignes en définissant la propriété multiline pour vrai. Ensuite, ajoutez la ligne suivante dans votre événement KeyPress de votre contrôle de zone de texte.
Le code ci-dessus signifie ne pas faire n'importe quoi par défaut lors de l'onglet ou la touche entrée est pressée.
Après cela, ajoutez le code suivant à votre événement KeyDown de votre contrôle de zone de texte:
À l'intérieur des accolades du code ci-dessus, gérer tout ce que vous voulez faire lors de l'onglet touche est enfoncée.
Ctrl+Tab
de changerTabs
. Et je ne sais pas quoi faire.Zone de texte.Propriété TabStop
TextBoxBase.AcceptsTab Propriété
Vous pouvez utiliser la propriété TabStop pour indiquer si vous pouvez utiliser la touche TAB pour déplacer le focus à un contrôle. Lecture/écriture de type Boolean.