Fenetre dynamique

daviddray Messages postés 1 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 16 mars 2004 - 16 mars 2004 à 18:00
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 mars 2004 à 19:09
je voudrai créer des forms dynamiques c'est a dire créer une seule form dans mon projet et ensuite pouvoir la lancer plusieures fois. J'ai deja vu plein de conseils pour créer des controles dynamiques mais je n'arrive pas a l'adapter a une form.
merci d'avance

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 mars 2004 à 19:09
Salut daviddray
C'est assez simple :
Il suffit de dimensionner des variables Public dans ton projet, dans un module (si tu n'en as poas, ajoutes-en un) :
Essaye ces quelques lignes dans un nouveau projet :
--------- Code du module
Public MaVar() As Form1
Public MonIndex As Integer

--------- Code de la Form1 (y poser un bouton)
Private Sub Command1_Click()
    MonIndex = MonIndex + 1
    ReDim MaVar(MonIndex)
    Set MaVar(MonIndex) = New Form1
    MaVar(MonIndex).Show
End Sub

A chaque fois que tu cliqueras sur le bouton, une nouvelle forme, identique à l'originale apparaitra. (attention, elles prennent aussi la même place, l'une par dessus l'autre !)
Ces nouvelles formes s'appellerons MaVar() et dans les parenthèses, il faudra mettre le n° qui l'identifie.

Par exemple : Tu as cliqué 5 fois sur le bouton : Tu as donc 6 formes : l'original et 5 copies MaVar(de 1 à 5)
Si tu veux faire disparaitre le bouton de la 3è forme (avec un autre bouton par exemple) :
MaVar(3).Command1.Visible = False

--------------------
Tu seras confronté aussi à l'énumération des formes chargées dans ton projet (pour les décharger par exemple) : Utilise ça :

Dim xx As Form1
For Each xx In Forms
   Unload xx
Next 


Fais joujou avec ces quelques lignes et tu verras que ce n'est pas sorcier, un peu dur d'assimiler une forme à une variable, mais pas sorcier.

Vala
Jack
0
Rejoignez-nous