Fermer appli avec croix rouge [Résolu]

Tursiop60 38 Messages postés samedi 20 juin 2009Date d'inscription 12 septembre 2011 Dernière intervention - 15 juil. 2009 à 22:01 - Dernière réponse : Tursiop60 38 Messages postés samedi 20 juin 2009Date d'inscription 12 septembre 2011 Dernière intervention
- 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
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 15 juil. 2009 à 22:32
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Tursiop60 38 Messages postés samedi 20 juin 2009Date d'inscription 12 septembre 2011 Dernière intervention - 15 juil. 2009 à 22:05
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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 15 juil. 2009 à 22:32
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
Tursiop60 38 Messages postés samedi 20 juin 2009Date d'inscription 12 septembre 2011 Dernière intervention - 15 juil. 2009 à 22:59
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
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 15 juil. 2009 à 23:06
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
Tursiop60 38 Messages postés samedi 20 juin 2009Date d'inscription 12 septembre 2011 Dernière intervention - 15 juil. 2009 à 23:21
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.