mokni_mehdi_3m
Messages postés40Date d'inscriptionlundi 17 octobre 2005StatutMembreDernière intervention22 mars 2006
-
4 nov. 2005 à 12:29
TrafMaxime
Messages postés288Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention26 janvier 2012
-
4 nov. 2005 à 20:36
Salut tout le monde
Quelle est la difference entre load/unload et show/... et pourqoui si j'ai une feuille et je fait load d'une autre feuille sa marche pas et avec show sa va
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 4 nov. 2005 à 13:53
salut
Load/Unload
Show/Hide
quand tu fais Load, tu demandes en fait de charger la procédure Load.
cet appel se fait donc à partir d'une autre Form que celle concernée (logique)
Show peut se faire de la Form elle-même, ou d'une autre.
sachant que dès qu'on appelle une Form, sa procédure Load s'execute en premier.
donc Load Form2, tu vas juste là charger, mais comme tu ne lui demande pas de s'afficher, elle est là, mais invisible.
tandis que Form2.Show, elle va toute seule faire son Load, puis executer ton Show.
et bien sûr, Hide masque sans décharger, tandis que UnLoad... exécute le QueryUnLoad puis le UnLoad et enfin se ferme.
TrafMaxime
Messages postés288Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention26 janvier 20121 4 nov. 2005 à 16:09
Perso, je te déconseil d'avancer avec la sub 'load... en effet bien
qu'elle s'exécute toujours au démarrage de la form, il se peut qu'elle
ne se lance qu'au premier affichage de celle-ci, et pas aux suivants...
à ta place, je créerai une sub 'intro sur chaque form, en public..
ainsi, pour ouvrir une nouvelle page :
f1.hide()
f2.show() 'pour qu'elle apparaisse
f2.intro() 'pour rentrer dans son code de démarrage..
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 4 nov. 2005 à 16:53
elle se lance au premier démarrage, toujours, tout court. aucun rapport avec le Show.
un doute? suffit de mettre Me.Show dans le Load.
désolé, je ne vois pas l'intérêt de intro()
de plus, si intro() est appelé dans le Load, par ta méthode TrafMaxime, tu auras lancé 2fois intro(), puisque ton Hide aura provoqué un Show (et donc son contenu)
@+
PCPT [AFCK]
TrafMaxime
Messages postés288Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention26 janvier 20121 4 nov. 2005 à 17:10
Je parle un connaissance de cause pcpt, perso, dans mes softs jamais j'utilise la méthode load de la form..
Le load ne se lance qu'à la premiere apparition de form.show(),
si tu quittes ta form par un form.hide(), et que tu reviens sur la page
par un form.show(), alors le load de la form ne s'exécute pas la
seconde fois :
seulement à la première.... ca peut servir sans doute, mais moi j'ai
toujours un truc à faire en premier, à chaque fois que la form
apparait, donc je me crée des vrais intros qui s'executerons à chaque
fois (cf : VB.net version 2002..)
Ps : form.intro() n'est pas appelé une 2eme fois par le load car je n'ai pas de 'load.., jamais je te dis..
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 4 nov. 2005 à 17:27
pour .Net, c'est peut-être différent, je ne peux que te croire sur parole
ayant déjà lu et répondu à Mokni sur d'autres Topics, il est sous VB6.
et sous VB6, sa question est compréhensible, car il faut bien faire la différence entre chargement et affichage.
tout comme Hide....
si au Load, je charge dynamiquement des contrôles, heureusement que un Hide / Show ne rapelle pas le Load.
en VB6 toujours, appelle une Form 2 par Load Form2, qui contient (au Load) juste un MsgBox. il apparaîtra, mais pas la Form. et décharger ensuite uniquement la Form1 laissera l'appli dans les processus, puisque Form2, bien que "pas Show", aura été ~Loadée~ et sera bien présente.
conclusion : Mokni -> tu as une explication en VB6 et l'autre en .Net2002