[vb.net]fermeture d'une fenêtre

Résolu
Messages postés
32
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2007
-
Messages postés
32
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2007
-
Bonjour,

J'ai une fenêtre qui se ferme de 2 façon différents :
- par la croix en haut a droite
- par un boutons QUITTER que je crée
une fois appuyé dessus, un message aparait "Etes-vous sûr de vouloir quitter ?" et l'utilisateur a le choix entre Oui et NON

Mon problème est que je n'arrive pas a les gérer ensemble

quand j'appuie sur le NON du message "Etes-vous sûr de vouloir quitter ?" dans le bouton QUITTER il me ferme ma fenêtre et la fenêtre du message car la fonction continue et pareil quand j'appuie sur le NON de la croix
en résumé: je n'arrive pas à anuler

voici le code :

' pour le bouton QUITTER

Private Sub quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

me.close()

End Sub

'------------------------------------------------------------------------
'Pour la croix en haut a droite

Private Sub Form1_FormClosed(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

Dim test As String
test = MsgBox("Etes-vous sûr de vouloir quitter ?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Fermeture de la fenêtre")

If test = 6 Then
exit sub
Else
Me.Enabled = True
End If

End Sub

<!-- / message -->

7 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Il faut mettre ton code dans FormClosed qui n'intervient comme son nom l'indique qu'une fois la feuille déjà fermée, mais dans FormClosing.

Sur réponse "Non" pour annuler la fermeture, tu fais e.Cancel=True (ou eventArgs.Cancel=True suivant ton code)

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Pour le bouton quitter:

Private Sub quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click



Dim
z

As



Integer

z = MsgBox(




"tu veux quitter! T'es sur?"
, MsgBoxStyle.YesNo)


If
z = 6

Then






End






End



IfEnd sub

 Drikce 06
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Bonjour au fait lol. Je regarde pour la croix!

 Drikce 06
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Ce que ça donne avec ce que casy a dit:



Private






Sub
Quitter_Click(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles
Button2.Click


Dim
z

As



Integer

z = MsgBox(




"tu veux quitter! T'es sur?"
, MsgBoxStyle.YesNo)


If
z = 6

Then






End






End



If






End



Sub






Private



Sub
Form1_FormClosing(

ByVal
sender

As



Object
,

ByVal
e

As
System.Windows.Forms.FormClosingEventArgs)

Handles



Me
.FormClosing


Dim
z

As



Integer

z = MsgBox(




"tu veux quitter! T'es sur?"
, MsgBoxStyle.YesNo)


If
z = 6

Then






End






Else

e.Cancel =




True






End



If






End



Sub




 Drikce 06
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Drikce, pas besoin de ton code sur le bouton quitter.

Me.close convient très bien, l'appli passeras quand même par FormClosing.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Ah ok! j'aime bien mettre mettre du code pour rien! lol! Merci pour l'info!

 Drikce 06
Messages postés
32
Date d'inscription
samedi 22 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2007

Merci pour tout ces réponses, j'ai changé mon formclose pour FormClosing et comme ça je peux annuler 
MERCIIIIIIIIIIIII encore