Fermer appli avec croix rouge

Résolu
Tursiop60 Messages postés 38 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 12 septembre 2011 - 15 juil. 2009 à 22:01
Tursiop60 Messages postés 38 Date d'inscription samedi 20 juin 2009 Statut Membre 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

6 réponses

Utilisateur anonyme
15 juil. 2009 à 22:32
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
3
Tursiop60 Messages postés 38 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 12 septembre 2011
15 juil. 2009 à 22:05
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 juil. 2009 à 22:32
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
0
Tursiop60 Messages postés 38 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 12 septembre 2011
15 juil. 2009 à 22:59
Merci Charles,

Ca marche parfaitement.

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

Retourne une erreur de syntaxe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
15 juil. 2009 à 23:06
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
0
Tursiop60 Messages postés 38 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 12 septembre 2011
15 juil. 2009 à 23:21
Pas de souci.

Merci.
0
Rejoignez-nous