Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Groupe de boutons

13 réponses
Avatar
400GpJ
Bonjour,

J'utilise des boutons pour constituer des plateaux de jeu. Sous VB6 je les
créais avec le même nom. J'obtenais un groupe indicé, qui me permettait
d'ajouter du code s'appliquant à tous les boutons et exploitant l'indice du
bouton qui était récupéré par l'é&vénement click.

En .Net, je suppose qu'il faut utiliser des collections. J'ai essayé avec un
panel en y créant des boutons. A priori pas de problème particulier pour
accéder aux boutons et les modifier, même si la syntaxe devient un peu lourde.

En revanche je ne trouve pas :
1- comment mettre du code sur l'événement click (par exemple) sans
dupliquer le code 1 fois par bouton (400 dans le cas présent)
2- comment créer dynamiquement les boutons en leur affectant un nom
variable avec une boucle for...next

D'avance merci pour les bonnes idées (même du genre ce n'est pas du tout
comme ça qu'il faut faire, une solution plus simple consisterait à....).

3 réponses

1 2
Avatar
Pierre Alexis [MVS]
Stephane TUET a écrit :

Je veux bien que mon code soit bourrin, je ne suis pas expert .NET et je
n'ai jamais dit que cette solution était la meilleure. Par contre je serais
curieux de savoir comment tu procèderais pour différencier un bouton parmis
400 rien qu'avec le paramètre "sender" et sans travailler avec son index
(c'est à mon avis un problème récurrent).



400 certes ce n'est pas pratique. Moi je voyais plutôt 4 boutons,
possédant chacun une référence globale pointant vers eux. Ensuite, dans
ta routine tu compare sender avec ces variables globales et tu sais à
qui tu as affaire.

Le mieux donc pour 400 boutons n'est-il pas de dériver le contrôle
bouton et de lui ajouter une propriété index ou id ?

Parce que le problème du Tab Index, c'est qu'il est sujet à
modificiation en cours de dévellopement (si on rajoute un contrôle, hop
les indexs sont shiftés). Et je trouve pas ça top pour identifier un
bouton -> c'est pas très logique.

Donc foilà ^^

--
Pierre ALEXIS
Most Valuable Student (MVS)
Courriel & messenger :
Homepage : http://student.ulb.ac.be/~palexis/
Avatar
Stephane TUET
Merci pour ta réponse.

En effet je pense que la dérivation du contrôle serait une bonne méthode.
Par contre, tu sembles indiquer que la procédure IndexOf() retournerait en
fait le Tab Index du contrôle ? Quelque chose à tester je pense, mais c'est
possible.

Bonne continuation
Steph


"Pierre Alexis [MVS]" a écrit dans le message de
news:
Stephane TUET a écrit :

Je veux bien que mon code soit bourrin, je ne suis pas expert .NET et je
n'ai jamais dit que cette solution était la meilleure. Par contre je
serais curieux de savoir comment tu procèderais pour différencier un
bouton parmis 400 rien qu'avec le paramètre "sender" et sans travailler
avec son index (c'est à mon avis un problème récurrent).



400 certes ce n'est pas pratique. Moi je voyais plutôt 4 boutons,
possédant chacun une référence globale pointant vers eux. Ensuite, dans ta
routine tu compare sender avec ces variables globales et tu sais à qui tu
as affaire.

Le mieux donc pour 400 boutons n'est-il pas de dériver le contrôle bouton
et de lui ajouter une propriété index ou id ?

Parce que le problème du Tab Index, c'est qu'il est sujet à modificiation
en cours de dévellopement (si on rajoute un contrôle, hop les indexs sont
shiftés). Et je trouve pas ça top pour identifier un bouton -> c'est pas
très logique.

Donc foilà ^^

--
Pierre ALEXIS
Most Valuable Student (MVS)
Courriel & messenger :
Homepage : http://student.ulb.ac.be/~palexis/


Avatar
Pierre Alexis [MVS]
Stephane TUET a écrit :

En effet je pense que la dérivation du contrôle serait une bonne méthode.
Par contre, tu sembles indiquer que la procédure IndexOf() retournerait en
fait le Tab Index du contrôle ? Quelque chose à tester je pense, mais c'est
possible.



Ha sorry, j'avais mal lu, je croyais que tu employais le TabIndex...

De toutes façons mon message reste valable, puisque IndexOf retourne, si
je ne m'abuse, l'index sur le plan "Z". (pour être plus clair : 0 pour
le contrôle le plus "derrière", l'index le plus élevé pour le contrôle
le plus "devant" ou inversément).
Ici encore, c'est pas génial pour identifier un contrôle.

@pluche :-p

--
Pierre ALEXIS
Most Valuable Student (MVS)
Courriel & messenger :
Homepage : http://student.ulb.ac.be/~palexis/
1 2