Tiger
-
25 déc. 1999 à 11:11
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
10 août 2007 à 08:49
Salut, j'aimerais savoir comment on crèe des composants dynamiquement à partir du code (TextBox, Picture, Label ...).
Je suppose qu'on doit utiliser l'instruction New, mais l'aide de VB indique que ce n'est possible qu'avec des formulaires. Alors coment faire ?
On utilise 'New' habituellement avec les objets et les classes.
Pour ce qui est des contrôles, habituellement tu dois en avoir au moins
un avec un index à 0 pour avoir "le droit" d'en charger d'autres.
Tu peux ainsi avoir 3 Textbox, index 0 à 2 et en ajouter au besoin
par code.
Je crois qu'il est possible de déclarer une variable de type
TextBox avec New, te permettant d'opérer sur une TB 'Invisible' et qui
ne pourra jamais l'être, l'interface n'existe pas. Probablement que
c'est plus pratique dans le cas d'une PictureBox, parce que une
variable serais moins lourde qu'une vraie PB invisible.
Dans le cas d'un textbox tu pourrais écrire
Dim x As Integer
'Trouver et augmenter le nombre
x = TblText.UBound 'Ici, si tu peux utiliser une variable globale, tu
'économise un peu de processeur pcq lire une
'propriété c'est lent.
x = x + 1
Load TblText(x) 'On doit désigner quel index charger
TblText(x).Visible = True 'Sinon caché
'Deux lignes suivantes, placer le nouveau contrôle sous le précédent.
TblText(x).Left = TblText(x - 1).Left
TblText(x).Top = TblText(x - 1).Top + TblText(x - 1).Height + 60
Pour te débarrasser d'un élément (préférablement le dernier)