2014-06-11 1 views
3

J'ai une winform à laquelle j'ajoute un panneau de disposition de table avec 2 lignes et 2 colonnes. Pour chaque cellule ajouter un contrôle utilisateur différent avec son propre ordre d'index de tabulation, Le problème est qu'il semble que l'index de tabulation est joind à toute la forme, ce qui signifie:Winforms, Comment séparer l'index de tabulation sur les contrôles utilisateur dans le même formulaire?

UserControl1 has 4 textboxes with tab index: 0,1,2,3 
UserControl2 has 4 textboxes with tab index: 0,1,2,3 
UserControl3 has 4 textboxes with tab index: 0,1,2,3 
UserControl4 has 4 textboxes with tab index: 0,1,2,3 

Quand je suis UserContrl1 textbox1 et en appuyant sur la tabulation va à UserControl2 textbox1 à la place d'aller à UserControl1 textbox2. Tous les contrôles sont chargés dynamiquement afin que l'index des onglets soit calculé dans une boucle. Existe-t-il un moyen d'indiquer au formulaire de traiter la touche de tabulation uniquement sur l'ordre de contrôle utilisateur et non sur le formulaire?

Répondre

1

Si vous générez les commandes userc quand même, qu'est ce qui vous empêche de définir l'index des onglets comme ceci?

UserControl1 has 4 textboxes with tab index: 0,1,2,3 
UserControl2 has 4 textboxes with tab index: 4,5,6,7 
UserControl3 has 4 textboxes with tab index: 8,9,10,11 
UserControl4 has 4 textboxes with tab index: 12,13,14,15 

Une autre hypothèse serait que pour régler le TabIndex des usercontrols lui-même:

UserControl1.TabIndex = 0; 4 textboxes with tab index: 0,1,2,3 
UserControl2.TabIndex = 1; 4 textboxes with tab index: 0,1,2,3 
UserControl3.TabIndex = 2; 4 textboxes with tab index: 0,1,2,3 
UserControl4.TabIndex = 3; 4 textboxes with tab index: 0,1,2,3 
+0

Il est une boucle qui va de commencer chaque fois –

Questions connexes