Vb.net groupbox
RésoluUtilisateur anonyme -
Bonjour,
j'ai un petit pc avec une un group box et 6 boutons qui ont été mis sans le group box donc normalement le bouton 1 a l'indice 6 dans le group box et le 6 l'indice 0 si j'ai bien compris le fonctionnement
si je tape ce code
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load For i = 0 To 5 GroupBox1.Controls(i).Visible = False Next i GroupBox1.Controls(5).Visible = True End Sub
normalement c'est le bouton 2 d'indice 5 dans la group box qui devrait s'afficher
mais c'est le bouton 3 qui s'affiche
quelqun peut il m'expliquer
a l'avance merci
Windows / Chrome 108.0.0.0
8 réponses
Bonjour
bouton 1 a l'indice 6 dans le group box et le 6 l'indice 0
non, le premier bouton qui a été créé à l'indice 0, le second a l'indice 1, etc...
Merci de ta reponse
mais dan s les sites d’apprentissage de vbnet il est dit que les controls faisant partie d’une groupe box c’est le dernier integre qui a l’indice 0 pour la gbox
de plus quand je lui demande d’afficher le controle d’indice5, selons tes regles il devrait m’afficher le bouton 4
peux tu m’expliquer pourquoi il m’affiche le 3
a l’avance merci
cordialement
mais dan s les sites d’apprentissage de vbnet il est dit que les controls faisant partie d’une groupe box
Je n'ai pas de quoi vérifier ça sous la main, mais ça m'étonne.
Pour être sûr, tu codes en winform ?
Tu as déposé les boutons avec le mode design?
Dans l'ordre où ils sont nommés ?
Il n'y a pas eu de suppression, ou de bouton glissé en dehors puis mis dans le groupbox?
Après vérification, c'est effectivement dans l'ordre inverse dépôt dans le groupbox.
- je crée 3 boutons successivement directement dans le groupbox. Si j'affecte un texte à l'item 0 des la collection d'objets du groupbox, c'est bien le bouton 3 qui change de texte
- je sors les boutons du groupbox, puis les remets dans l'ordre 3 puis 2 puis 1, là c'est le bouton 1 qui change de nom.
Comme tu le vois l'index de la collection n'est pas une valeur sûre, d'autant que si tu ajoutes d'autres types de contrôle tu pourrais être embêté.
Si tu décris ton besoin (et pas la solution que tu pensais utiliser), on pourra certainement te trouver quelque chose de rigoureux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBen déjà, pour moi "placé dynamiquement", ça ne veut pas dire placés à l'avance et rendus visibles.
Pour moi, avec 2 boucles imbriquées, tu dois instancier n boutons, les placer, afficher le texte et abonner leur événement Click à une méthode qui mettra le texte en majuscule dans le textbox.
merci pour ta réponse
tu vas faire une boucle avec i qui prendra valeur de 0 à n le nombre qu'il aura choisi et dans la boucle tu lui dis de rendre le bouton visible(car à la load de la form on les mets tous en invisibles)
pourquoi une deuxième boucle?
De plus si le gars clique 6 il t'affichera toujours les 6 premiers j'ai essayé de faire un randomize pour les choisir au hasard à chaque fois mais n'ai pas réussi à coupler les chiffres au hazar par randomize et le i d'indice du bouton dans le group
cordialement