Création dynamique de contrôles en VB
poupyman
Messages postés
62
Date d'inscription
Statut
Membre
Dernière intervention
-
beldyn Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
beldyn Messages postés 188 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille actuellement sur une application en VB qui doit faire apparaitre un nombre variable d'élements textbox sur mon formulaire. J'ai essayé de définir des variables de type textbox et de mettre à jour moi même les propriétés mais je ne récolte que des messages d'erreurs (variable objet ou variable bloc with non définie) et je me fais jeter comme un malpropre si j'essaie de faire un Set MaTextBox = New TextBox (utilisation incorrecte du mot clé new)
Est-ce-que quelqu'un sait comment faire ? SVP help !
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
je travaille actuellement sur une application en VB qui doit faire apparaitre un nombre variable d'élements textbox sur mon formulaire. J'ai essayé de définir des variables de type textbox et de mettre à jour moi même les propriétés mais je ne récolte que des messages d'erreurs (variable objet ou variable bloc with non définie) et je me fais jeter comme un malpropre si j'essaie de faire un Set MaTextBox = New TextBox (utilisation incorrecte du mot clé new)
Est-ce-que quelqu'un sait comment faire ? SVP help !
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
A voir également:
- Création dynamique de contrôles en VB
- Tableau croisé dynamique - Guide
- Creation de compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
3 réponses
Salut,
J'ai une méthode assez simple:
tu crees un controle indexé, qui sera le seul sur ta feuille lors de la construction.
Ensuite, a chaque fois que tu veux en ajouter un (attention il herite des mêmes propriété que le premier) tu utilses la méthode Load
ex:
Sur une feuille form1, tu places un controle textbox, et tu lui assigne l'index 0 (le plus simple, tu fais un copier/coller du controle, VB te demande si tu veux l'indexer tu répond oui et tu effaces le dernier créé)
Ensuite, dans le load de la feuille tu ajoutes le code suivant
Load me.text1(1)
Load me.text1(2)
Load me.text1(3)
for i = 1 to 3 step 1
me.text1(i).visible=true
me.text1(i).top = me.text1(i-1).top + me.text1(i-1).height + 20
next i
voila, c tout, pour les detruire, faut faire un unload, mais en commencant par le dernier index.
J'ai fait ca de mémoire, il y a peut-être une erreur, dis moi si ca fonctionne.
a+
J'ai une méthode assez simple:
tu crees un controle indexé, qui sera le seul sur ta feuille lors de la construction.
Ensuite, a chaque fois que tu veux en ajouter un (attention il herite des mêmes propriété que le premier) tu utilses la méthode Load
ex:
Sur une feuille form1, tu places un controle textbox, et tu lui assigne l'index 0 (le plus simple, tu fais un copier/coller du controle, VB te demande si tu veux l'indexer tu répond oui et tu effaces le dernier créé)
Ensuite, dans le load de la feuille tu ajoutes le code suivant
Load me.text1(1)
Load me.text1(2)
Load me.text1(3)
for i = 1 to 3 step 1
me.text1(i).visible=true
me.text1(i).top = me.text1(i-1).top + me.text1(i-1).height + 20
next i
voila, c tout, pour les detruire, faut faire un unload, mais en commencant par le dernier index.
J'ai fait ca de mémoire, il y a peut-être une erreur, dis moi si ca fonctionne.
a+
Ben j'ai pas trop compris ta méthode, mais j'ai trouvé un moyen de faire des 'tableaux de contrôles' (trad by mwa) qui permettent d'avoir des contrôles avec des noms du genre MaZoneDeTexte(i).
Je vais essayer de fouiller dans cette direction
Merci quand même
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
Je vais essayer de fouiller dans cette direction
Merci quand même
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
Salut...
Oui moi je sais :o)
Mais la je sais plus par coeur, je te donne une piste, si tu t'en sors pas demain avec, hesite pas a remonter ce post j'ai ca au boulot.
En fait il faut faire un form.controls.add() et il faut que tu regardes les proprietes du add (ou addcontrol peut etre), il doit falloir mettre le nom du controle et son type je crois...
De tete et sans VB sous la main je peux pas t'en dire plus...
. .
\_/
Oui moi je sais :o)
Mais la je sais plus par coeur, je te donne une piste, si tu t'en sors pas demain avec, hesite pas a remonter ce post j'ai ca au boulot.
En fait il faut faire un form.controls.add() et il faut que tu regardes les proprietes du add (ou addcontrol peut etre), il doit falloir mettre le nom du controle et son type je crois...
De tete et sans VB sous la main je peux pas t'en dire plus...
. .
\_/