
Envoyé par
Naografix
Le hic c'est que si je met dans mon bouton2.click : Test3.text = "Hello"
Il me dit que ce n'est pas creer...
quand on pose un bouton, vs créé une variable avec le nom qu'on donne au controle
donc me.button1 est possible
par contre pour les controles créés pendant l'exécution, la seule variable ici c'est Test
et une fois sortie de la sub la variable n'existe plus (l'instance existe toujours par contre, pas de soucis)
le but est donc de pouvoir retrouver l'instance, il y a pour ca plusieurs moyens
la propriétés controls permet de retrouver un controle en fonction de sa propriété name
dim c = leparent.controls("le nom as string du controle qu'on cherche")
un autre moyens c'est d'avoir un list(of ) en variable privée, ca peut se typer, ca évite donc les directcast
monlist.add(Test) ' à chaque tour de la boucle d'ajout des controles
ensuite monlist(i) retourne le controle (attention i de 0 à n-1)
sinon avec une clé autre qu'un integer indexé pour retrouver un controle c'est de faire un dictionary (Tkey, tControl) à la place d'un list of
exemple avec string, textbox :
1 2 3 4 5
| private _Dico as new dictionary(of string, textbox)
(...)
_Dico.add("aa" & i.tostring,Test)
(...)
_Dico("aa3").text = "nouveau text" |
autre info liée : pour gérer des évènements sur des controles créés par code il faut utiliser AddHandler instance.nomEvent, addressof NomSub (et removehandler quand on en a plus besoin)
Partager