NeT_SlipKnoT
Messages postés62Date d'inscriptionsamedi 18 novembre 2000StatutMembreDernière intervention10 décembre 2005
-
27 juin 2005 à 17:42
NeT_SlipKnoT
Messages postés62Date d'inscriptionsamedi 18 novembre 2000StatutMembreDernière intervention10 décembre 2005
-
28 juin 2005 à 15:48
Bonjour,
j'ai un problème au niveau de mon programme VB. Mon projet est constitué de plusieurs forms dont 1 qui est le form principal (le menu). A partir du menu, on accède à d'autres forms. J'utilise pour cela dans le code les propriété ".Hide" et ".Show" des forms. Le problème est que si je clique sur la croix en haut à droite d'un form qui a été ouvert à partir du menu, le programme ne s'arrête pas comme avec le code "End", il ferme juste le form courant est le form Menu qui est caché (.Hide) est toujours ouvert mais on ne le voit pas, il faut aller dans le Gestionnaire des taches pour le fermer.
J'aimerais donc savoir comment faire pour que lorsque l'on clique sur la croix de la fenêtre ça ferme mon programme et pas seulement le form courant.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 juin 2005 à 15:36
Je ne t'ai jamais dit d'utiliser l'instruction Load pour afficher les
fenêtres (cette fonction ne permet que de charger la feuille, et non de
l'afficher !).
Donc utilise la méthode Show pour afficher ta feuille, et la fonction Unload pour la fermer tout simplement.
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 27 juin 2005 à 17:57
et si tu es en VB 6, ce qui a l'air d'être le cas ;), utilise des
Unload(Form) plutôt que des .Hide pour fermer tes feuilles, tu verras,
ca marche tout de suite mieux ;)
En fait, lorsque tu fait un .Hide, ta fenêtre est juste masquée, mais
elle reste en mémoire. Du coup, si tu veux quitter ton prog, tu es
obligé de décharger toutes les feuilles de la mémoire : pas pratique !
(à moins que tu passe par un End, mais là, c'est brutal !).
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
NeT_SlipKnoT
Messages postés62Date d'inscriptionsamedi 18 novembre 2000StatutMembreDernière intervention10 décembre 2005 28 juin 2005 à 11:44
Alors tout d'abord je vous remercie pour toute vos réponses.
Pour commencer,en réponse à Stephane33, je suis débutant donc les MDI
Child et Parent, Modal, c'est comme si c'était du chinois pour moi
quoi...
Pour la réponse de omsylv, je ne sais pas comment configurer
l'événement de la croix dans le code, peux-tu me dire comment faire? Il
faut mettre Private Sub quoi????
Pour la réponse à Darksidious, j'ai essayé de mettre Unload(nom du form) mais ça ne fonctionne pas, "Valeur de propriété incorrect" qu'il me dit en surlignant de jaune la ligne du Unload. Pourrais-tu me dire comment faire exactement STP?
NeT_SlipKnoT
Messages postés62Date d'inscriptionsamedi 18 novembre 2000StatutMembreDernière intervention10 décembre 2005 28 juin 2005 à 14:21
Pour répondre à omsylv, j'ai essayé ce que tu as écrit:
Private Sub NomduForm_Close()
DoCmd.Quit
End Sub
Ca ne fonctionne pas. En faisant une éxécution
pas à pas, je me rend compte que lorsque l'on clique sur la croix, le
programme ne rentre jamais dans l'événement Private Sub NomduForm_Close() .
Pour répondre à DarkSidious, j'ai essayé Unload et Load avec la syntaxe que tu m'as dit. Alors pour le Unload ça fonctionne, le form disparait bien, mais ça ne fonctionne pas pour le Load,
le form en question n'apparait pas... Du coup je n'ai pas de message
d'erreur mais mon programme continuer de fonctionner sans que rien
n'apparaisse à l'écran...
A noter que lorsque l'on tape Load ou Unload il apparait ce qui doit suivre comme syntaxe qui est (object As object) ...