cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 2009
-
11 mars 2004 à 15:42
cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 2009
-
11 mars 2004 à 17:13
Bonjour.
Par un menu en Form1, je commande l'apparition d'une Form2. Sur cette Form2, je fais un certain nombre de tranformations( création dynamique d'objets, par exemple), puis revient en Form1.
Si je repasse en Form2, je ne reviens pas à la physionomie initiale, comme si il n'executait pas Form_Load à nouveau. Du reste, un point d'arret dans ce Form_load n'arrete le programme que la première fois.
Comment faire?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 mars 2004 à 16:10
Tout depend de comment tu fais : si tu fais un simple Form2.Hide pour masquer la fenêtre, c'est normal : fait plutôt Unload Form2.
Si tu ne masque pas la fenêtre, c'est encore plus normal : comme elle est déjà chargée, VB ne la recharge pas de nouveau ! Donc, mets tes instruction dans Form_Activate et non Form_Load dans ce dernier cas !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 mars 2004 à 16:11
Tout depend de comment tu fais : si tu fais un simple Form2.Hide pour masquer la fenêtre, c'est normal : fait plutôt Unload Form2.
Si tu ne masque pas la fenêtre, c'est encore plus normal : comme elle est déjà chargée, VB ne la recharge pas de nouveau ! Donc, mets tes instruction dans Form_Activate et non Form_Load dans ce dernier cas !
cs_machto
Messages postés179Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention18 février 20091 11 mars 2004 à 16:43
Merci de tes réponses. Je ne connais pas ce Form_Activate.
Cela remplace-t-il le Form_Load?
J'ai fait plusieurs essais:
- J'ai remplacé le Form2.Hide par Unload Form2: Je n'ai pas obtenu de différence. En recliquant sur ma commande pour accéder à ma Form2, je retrouve la situation graphique que je viens de quitter et non un rafraichissement pour remettre à l'état initial.
-J'ai remplacé Form_Load par Form_Activate dans Form2 , là il me plante en me disant que les objets sont déjà créés.
Peux-tu m'expliquer ce que je dois faire?
Je te remercie.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 mars 2004 à 16:49
Le form_activate se déclenche à chaque activation de la feuille lorsqu'elle n'est plus active (donc, lorsqu'une autre feuille a le focus)
Ca ne remplace pas le Form_Load, c'est juste un événement qui se déclenche lors de l'activation de la feuille ! Etant donné que tes contrôles sont déjà chargés, il te fait forcément un message d'erreur ! Par contre, si tu modifie uniquement la taille et la position de tes contrôles, la ca marchera normalement !
Si tu remplace le Form1.Hide par un Unload Form1 et que tu n'obtiens pas la même configuration des contrôles que lors du premier chargement, il y a sûrement un problème avec des variables globales car le fait d'afficher de nouveau la feuille provoque son chargement et donc, l'événement Load de celle-ci !