quelles pourraient être les raisons possibles pour TabIndex ne fonctionne pas correctement
j'ai donc commencé à partir de 0 et de définir tabindex pour les contrôles sur mon formulaire, mais au moment de l'exécution, il est tout foiré. la forme est un peu complexe tho. il a l'horizontale et à la verticale, les répartiteurs et les panneaux, les zones de groupe et certains anciens VB 6.0 contrôles activeX qui est un contrôle d'Arborescence à l'intérieur d'eux. même si je le fais par programme et lire previewkeydown eventg et dire si c'est de l'ONGLET puis control2.Focus() il est toujours mauvais. tellement frustrant. toutes les pensées? ..il y a aussi des étiquettes sur la forme qui n'ont pas besoin onglet j'ai donc défini 0 pour leurs index.
Trouvé ce Documentation à partir de Microsoft & Stackoverflow un autre Question c'est très utile.
OriginalL'auteur Bohn | 2011-05-26
Vous devez vous connecter pour publier un commentaire.
Comment vous le mettre?
Si vous êtes dans visual studio avec le formulaire en mode création, sélectionnez affichage -> onglet commande, puis cliquez sur chaque élément dans l'ordre que vous voulez.
Travaille habituellement pour moi.
oh mon dieu! il est compliqué. ils montrent comme 0.1.0.0.10 et 0.1.0.1.11
Les différents numéros sont les différents niveaux de contrôle. Vous devez sélectionner le niveau le plus élevé, et ensuite travailler dans. Chaque couche d'un numéro dans le coin supérieur gauche, sélectionnez cette les contrôles dans cette couche, dans l'ordre requis
Ce! Affichage -> TabOrder a sauvé beaucoup de temps et de frustration. Ce que j'avais à changement a aussi été le TabIndex des différents niveaux de panneaux que j'ai eu.
En général, une belle fonction. MAIS. J'ai un petit formulaire avec beaucoup de contrôles. Je ne peux pas les voir à cause de la longue des labels comme
0,0,0,0,0,0,0,0,0,0,0,5
.OriginalL'auteur kerry
La raison en est que les contrôles sont dans des Récipients différents. Supposons que vous avez panel1.TabIndex = 0 et séance 2.TabIndex = 1, puis en séance 2, textBox1.TabIndex = 0, dans panel1, textBox2.TabIndex = 1. Au moment de l'exécution, textBox1 vient avant textBox2 parce que son groupe vient en premier!
Que kerry dit, l'utilisation de la vue->onglet pour voir l'ensemble de la hiérarchie de l'onglet commandes.
Exactement, le quatrième nombre (comptage commence de un oui? 😉 est 0 dans l'un et 1 dans l'autre. Ainsi, les deux commandes sont dans des récipients différents. Et c'est la cause du problème.
OriginalL'auteur Alireza
Suivez les étapes ci-dessous:
TabIndex
propriété DIRECTE de l'ENFANT des conteneurs et des contrôles dans un formulaire ou d'un conteneur, soit à l'aide de la Vue > TabOrder utilitaire ou directement à partir de la fenêtre propriétés. Ignorer complètement leTabStop
propriété de conteneurs, qui est par défaut à false, même s'il est très important.OriginalL'auteur Mario Vázquez
Je suis citant ce parce que je n'ai pas vu cela dans aucun des winforms ordre de tabulation threads que j'ai trouvé sur stackoverflow.
Si vous disposez de plusieurs panneaux, vous changez d'onglet du panneau de commande en cliquant sur le Panneau, allez dans les propriétés, et que vous modifiez la propriété TabIndex de ce que vous voulez. Cela vous permettra de naviguer à partir d'un panneau à l'autre dans l'ordre que vous voulez. Puis à l'intérieur de chaque panneau, suivez les étapes énumérées ci-dessus à l'aide de view > onglet commande et cliquez sur chaque cellule dans l'ordre que vous souhaitez définir.
OriginalL'auteur noel