Recherche événement lorsque l'on click sur la croix pour fermer l'application
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013
-
26 juin 2009 à 13:01
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013
-
26 juin 2009 à 15:54
Bonjour,
Je recherche, dans Visual studio en VB.net (2008) l'événement qui se produit lorsque l'on clique sur la croix qui sert généralement à fermer le logiciel.
Afin de pouvoir lancer un message de confirmation.
Je voudrais que cela ne rentre pas en conflit avec la fonction close()
Merci
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 26 juin 2009 à 13:09
salut,
je dirais... _formclosing ???
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("Voulez-vous vraiment quitter l'application?", "Fermeture", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then e.Cancel = True
End Sub
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 26 juin 2009 à 13:33
Salut megamario ;O)
Effectivement PCPT, j'ajouterais même que cet événement est déclenché à la fermeture du formulaire, pas seulement lors du click sur la croix (du coup aussi lors de la fermeture de l'application).
Pour connaitre la raison cet événement il faut consulter la valeur de la propriété e.CloseReason
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Voila mon problème, j'avais vu FormClosed et FormClosing mais cela ne me
conviens pas ou alors faut que je trouve une parade à ma navigation entre les
form.
J'ai plusieurs form un principal qui me sert à stocker mes variables accessible
a tous les autres et sert à la gestion d'ouverture des form. C'est un form mais
n'est pas visible la plus part du temps (je lais laisser comme sa pour
provoquer un affichage le temps de charger les base de donnée pour éviter que
l'utilisateur se demande ce qui se passe)
Cette form reste ouverte tout le temps.
Pour passer d'une form à l'autre ensuite, je les ouvres et ferme grâce à
Me.Close(). Et du coup cela me provoque un FormClosed.
Si vous avez des idées
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013 26 juin 2009 à 14:10
Je n'est pas de barre de progression
En faite a l'ouverture du logiciel cela va chercher sur le réseaux les bases de donnée. Et parfois c'est un peut long pour l'utilisateur si bien qu'il redémarre le logiciel. Donc j'affiche juste une fenêtre avec le non du logiciel au moins pour que l'utilisateur attend un peut.
Ensuite cette fenêtre je la rend invisible une fois que cela démarre la page d'accueil.
Maintenant quand la page d'accueil se ferme par Me.Close() je repasse par la page de demarrage pour charger ensuite la 2eme page (utilateur).
C'est peut être pas la bonne méthode mais j'ai développer tout comme sa et les fenêtre passe sans problème de l'une a l'autre. Mais la j'ai quelque souci lorsque je veut fermer le logiciel avec la croix. Donc je cherchais l'evenement de cette croix pour fermer proprement le tout.
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 26 juin 2009 à 14:32
J'oubliais, ta méthode n'est en effet pas très 'propre' mais elle convient tout de même, cependant, fais attention à la fermeture de l'application à bien décharger toutes les classes instanciés par tes formulaires, et fermer toutes les connexions établies, pour ce faire tu peux utiliser le FormClosing de chaque formulaire...
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
cs_megamario
Messages postés145Date d'inscriptionlundi 15 juin 2009StatutMembreDernière intervention14 février 2013 26 juin 2009 à 15:54
Bon ba je sais pas si c'est normale mais le résultat de CloseRaison est le même avec la fermeture par la croix ou avec la fonction Me.Close()
Donc malheureusement cela me conviens pas
Par contre je sais pas si je peut passé par Me.Hide() pour rendre la fenêtre non visible car du coup cela marche mais je voudrais pas ouvrir plusieurs fois la même fenettre (avec une seul visible) je connait pas bien le focntionnement de ce Hide.
Technicien en électricité industriel. En cours de reconversion par un BTS IRIS 1er année.
Actuellement en stage dans mon entreprise en R&D.