Fermer une form avec boite de dialogue

Résolu
cs_PHILOUVB Messages postés 141 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 3 octobre 2010 - 7 juin 2007 à 18:46
RAPTISTA Messages postés 6 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 8 juin 2007 - 8 juin 2007 à 02:10
Bonjour à tous

Les débuts sur VB2005  sont durs mais j'espère arriver à mes fins grace à votre aide

Voilà je veux procéder à la fermeture de mon programme mais avec une boite de dialogue qui me demande d'annuler ou de confirmer la fermeture du programme.
pour cela je passe par la croix de fermeture de la fenetre. Et voici la procédure que j'ai commencé à écrire

Private

Sub Form1_FormClosing(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.FormClosingEventArgs)
Handles
Me.FormClosing

Dim a, b
As
String

Dim Reponse
As
Integer
a "Voulez-vous quitter OneDay Vista ?"b

"Quitter"Reponse = MsgBox(a, MsgBoxStyle.YesNo, b)

If Reponse = 6
Then
Form1.close

Else??????????????????????????

End
If

End
Sub

Comme vous le devinez, mon problème se situe au niveau des points d'interrogation. Je n'arrive pas à trouver la solution pour ne pas fermer  mon appli

Sur l'aide de VB 2005 j'ai lu que la propriété Cancel de CancelEventArgs devait être égale à true. Mais je ne comprend pas ce que cela signifie.

Donc un grand merci par avance pour l'aide que vous aller m'apporter

PhilouVB

2 réponses

Doc VB Messages postés 16 Date d'inscription vendredi 24 novembre 2000 Statut Membre Dernière intervention 20 juillet 2007
7 juin 2007 à 19:07
Salut,

La propriété "Cancel" est celle de "e" (...

ByVal
e

As
System.Windows.Forms.FormClosingEventArgs ...)
Donc si la réponse est oui, laisse l'application ou la fenêtre se fermer tranquillement, sinon tu fais "cancel = true" :




If Reponse <> 6 Then
    e.Cancel = True
End If
3
RAPTISTA Messages postés 6 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 02:10
Salut,
bah...tu dois la mettre en 2 places:
-la premiere c'est dans le boutton(menuitem.....) et voilà le code:
 Dim rep As DialogResult
        rep = MessageBox.Show("Voulez vous vraiment quitter?", "Quitter le programme", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
        If rep = DialogResult.OK Then
            End
        End If
-la deuxieme dans l'evenement Closing( cliquer sur le criox en haut), et voilà son code:
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        Dim rep As DialogResult
        rep = MessageBox.Show("Voulez vous vraiment quitter?", "Quitter le programme", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
        If rep = DialogResult.OK Then
            e.Cancel = False
        Else
            e.Cancel = True
        End If
    End Sub

Bon programmation;)
3