Fermer une form avec boite de dialogue [Résolu]

Signaler
Messages postés
141
Date d'inscription
mardi 18 mars 2003
Statut
Membre
Dernière intervention
3 octobre 2010
-
Messages postés
6
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
8 juin 2007
-
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

Messages postés
16
Date d'inscription
vendredi 24 novembre 2000
Statut
Membre
Dernière intervention
20 juillet 2007

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
Messages postés
6
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
8 juin 2007

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;)