TabIndex ne fonctionne pas correctement
J'ai une application windows form. Sur la forme il y a trois groupboxs.
Chaque zone contient certains contrôles. Veuillez voir l'image.
Il y a une zone "drapeau" qui contient quelques checkboxs. "drapeau" est à l'intérieur "groupbox1".
J'ai utilisé la touche de Tabulation pour passer à travers chaque contrôle, mais il ne fonctionne pas pour les checkboxs en "drapeau". Je n'ai régler correctement les tabindex pour chaque contrôle.
Il travaille pour des textboxs et boutons, mais checkboxs.
Pourquoi? Merci pour l'aide.
MODIFIER
//groupBox2
//
this.groupBox2.Controls.Add(this.pictureBox10);
this.groupBox2.Controls.Add(this.pictureBox9);
this.groupBox2.Controls.Add(this.pictureBox8);
this.groupBox2.Controls.Add(this.pictureBox7);
this.groupBox2.Controls.Add(this.chkStoplight);
this.groupBox2.Controls.Add(this.lblStoplight);
this.groupBox2.Controls.Add(this.chkIsCount);
this.groupBox2.Controls.Add(this.chkExceptionFlag);
this.groupBox2.Controls.Add(this.chkIsActive);
this.groupBox2.Controls.Add(this.lblIsActive);
this.groupBox2.Controls.Add(this.lblExceptionFlag);
this.groupBox3.Controls.Add(this.lblIsCount);
this.groupBox2.Location = new System.Drawing.Point(16, 201);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(321, 70);
this.groupBox2.TabIndex = 10;
this.groupBox2.TabStop = true;
this.groupBox2.Text = "Flags";
//
//chkStoplight
//
this.chkStoplight.AutoSize = true;
this.chkStoplight.Location = new System.Drawing.Point(44, 25);
this.chkStoplight.Name = "chkStoplight";
this.chkStoplight.Size = new System.Drawing.Size(15, 14);
this.chkStoplight.TabIndex = 0;
this.chkStoplight.UseVisualStyleBackColor = true;
In the property, I found TabStop is true for chkStoplight.
dites-nous laquelle de contrôle s'active lorsque vous appuyez sur l'onglet en permanence
Pourriez-vous poster votre code?
Le code est juste des numéros pour la propriété tabindex. Toutes les commandes sont actives à l'exception checkboxs.
Êtes-vous à l'aide de
c'.groupBox1 = nouveau Système.De Windows.Les formulaires.Zone();
Pourriez-vous poster votre code?
Le code est juste des numéros pour la propriété tabindex. Toutes les commandes sont actives à l'exception checkboxs.
Êtes-vous à l'aide de
System.Windows.Controls.GroupBox
ou System.Windows.Forms.GroupBox
?c'.groupBox1 = nouveau Système.De Windows.Les formulaires.Zone();
OriginalL'auteur | 2012-06-15
Vous devez vous connecter pour publier un commentaire.
Pour Système.De Windows.Les formulaires.Zone:
Vous devez vous assurer que votre Zone
flag
un TabIndex ensemble.De MSDN - Comment: Définir l'Ordre de Tabulation sur les Windows Forms:
Aussi, assurez-vous que le TabStop propriété de votre Zone
flag
n'est pas définie sur false. Je crois que le faux est la valeur par défaut.Pour Système.De Windows.Les Contrôles De Zone:
Assurez-vous que le Zone de groupe.IsTabStop propriété est définie. Ce aussi la valeur par défaut est false.
Mise à jour: Il semble que toutes vos commandes sont ajoutées à l'
groupBox3
. Vous devriez assurez-vous que chacun d'eux est d'être ajouté seulement de son contenant de la zone. Par exemple,checkBox1
,checkBox2
, etcheckBox3
devraient tous être ajoutés àflag
, qui devrait lui-même être ajouté àgroupBox1
.groupBox3
ne doit contenir de Retour, Suivant, Terminer, et Annuler.Vérifier le lien. Elle passe en particulier à la MSDN articale pour la Zone.Propriété TabStop. En outre, j'ai testé la création d'une nouvelle Zone et vérifié que la propriété existe et b) la valeur par défaut est false.
Ok. Peut-être l'option est seulement pour la souris plutôt que de frappe?
J'ai mis à jour ma réponse pour inclure des propriétés pour les deux
System.Windows.Controls.GroupBox
etSystem.Windows.Forms.GroupBox
. Ma réponse a été basé sur l'hypothèse que vous avez été en utilisant les Formulaires de la Zone, ce qui pourrait expliquer pourquoi j'ai trouvé une propriété TabStop et vous n'avez pas.Vos cases à cocher doivent avoir
TabStop
(ouIsTabStop
) par défaut à true. Je pense toujours que le problème est dans votreflag
Zone n'ayant pas saTabStop
bien réglé de manière appropriée.OriginalL'auteur Jon Senchyna
J'ai trouvé que la seule façon d'obtenir l'ordre de tabulation dans WinForms zones de groupe est de changer l'ordre dans lequel les contrôles sont ajoutés au groupe des boîtes dans le générés InitializeControl méthode.
Si vous avez plusieurs zones de groupe, vous aurez pour vérifier l'ordre dans lequel les zones de groupe sont ajoutés à leur conteneur et éventuellement de le modifier.
Je n'aime vraiment pas l'édition de code généré, mais aussi loin que je peux voir, c'est le seul moyen de résoudre ce problème.
Paramètre de la propriété TabStop de la zone de groupe n'ont pas d'aide du tout.
OriginalL'auteur Erno de Weerd