Fermer appli avec croix rouge [Résolu]

Messages postés
38
Date d'inscription
samedi 20 juin 2009
Dernière intervention
12 septembre 2011
- - Dernière réponse : Tursiop60
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Dernière intervention
12 septembre 2011
- 15 juil. 2009 à 23:21
Bonsoir,

J'ai une application qui s'ouvre sur un sommaire. Je voudrais, quand on clique sur la croix en haut à droite, voir apparaitre une form de confirmation. J'ai fait ça :

Private Sub Sommaire_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.Closing
e.Cancel = True
Quitter_logiciel.Show()
End Sub

Ca marche très bien puisque le form "Quitter_logiciel" s'ouvre parfaitement. Le problème c'est quand, dans cette forme, on clique sur oui, rien ne se passe et le logiciel ne se ferme pas

Voici le code pour "Quitter_logiciel" :

Public Class Quitter_logiciel

Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
Sommaire.Close()
End Sub

Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
Sommaire.Enabled() = True
Sommaire.Select()
End Sub

End Class

Quelqu'un pourrait-il me dire ce qui ne va pas ?

Merci d'avance
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
3
Merci
Salut,

Alors je te conseil plutot d'utilise le ShowDialog et le retour avec un DialogResult
Configure tes boutons OK_Button et Cancel_Button avec leurs propriété DialogResult (en mode conception), comme ça, tu n'as aucun code à mettre dans ta form Quitter_logiciel

Puis dans ta form Sommaire :

Private Sub Sommaire_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  If Not Quitter_logiciel.ShowDialog() = Windows.Forms.DialogResult.OK Then
    e.Cancel = True
  End If
End Sub

_____________
Kenji

Merci Charles Racaud 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Dernière intervention
12 septembre 2011
0
Merci
DESOLE voici le même message avec les couleurs :

Bonsoir,

J'ai une application qui s'ouvre sur un sommaire. Je voudrais, quand on clique sur la croix en haut à droite, voir apparaitre une form de confirmation. J'ai fait ça :

Private Sub Sommaire_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.Closing
e.Cancel = True
Quitter_logiciel.Show()
End Sub


Ca marche très bien puisque le form "Quitter_logiciel" s'ouvre parfaitement. Le problème c'est quand, dans cette forme, on clique sur oui, rien ne se passe et le logiciel ne se ferme pas

Voici le code pour "Quitter_logiciel" :

Public Class Quitter_logiciel

Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
Sommaire.Close()
End Sub

Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
Sommaire.Enabled() = True
Sommaire.Select()
End Sub

End Class



Quelqu'un pourrait-il me dire ce qui ne va pas ?

Merci d'avance
Commenter la réponse de Tursiop60
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
C'est normal puisque tu annule la fermeture de la form (e.cancel=True)

Il ne faut l'annule que si tu ne confirme pas :

Private Sub Sommaire_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.Closing

If Quitter_logiciel.Show()=System.Windows.Forms.DialogResult.Cancel Then
  e.Cancel = True
End If

End Sub 


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Dernière intervention
12 septembre 2011
0
Merci
Merci Charles,

Ca marche parfaitement.

Pour information casy le code suivant :
Quitter_logiciel.Show()=System.Windows.Forms.DialogResult.Cancel

Retourne une erreur de syntaxe.
Commenter la réponse de Tursiop60
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
Oui normal .Show ne retourne aucun résultat, il faut utiliser .ShowDialog à la place.
Charles a été plus perspicace que moi sur le coup

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Messages postés
38
Date d'inscription
samedi 20 juin 2009
Dernière intervention
12 septembre 2011
0
Merci
Pas de souci.

Merci.
Commenter la réponse de Tursiop60

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.