MessageBoxButtons.elYesNoCancel

Résolu
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 - 6 janv. 2006 à 18:17
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 - 8 janv. 2006 à 00:49
salut
j'ai un prob avec un message box de type YesNoCancel
j'ai fait le teste sur yes et no ca marche bien mais je veux lorseque je clique sur Cancel mon appication se ferme et c'est pas ce que je veux

Dim s
As
String


s = MessageBox.Show(" Voulez vous mettres à jour votre base de données ?", "Confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)



If s = MsgBoxResult.Yes
Then



Dim cs
As
New SqlCommandBuilder(da)


da.InsertCommand = cs.GetInsertCommand()


da.Update(Ds1.Tables(0))



Else



If s = MsgBoxResult.No
Then



Me.Close()



Else



If s = MsgBoxResult.Cancel
Then



??????????????? qu'est ce que je doit ecrire ici



End
If



End
If



End
If

7 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
6 janv. 2006 à 19:00
Salut,

Utilise l'événement FormClosing et pout annuler la fermeture utilise la propriété Cancel


If s = MsgBoxResult.Cancel
Then



e.Cancel = True



End
If


Si la réponse te conviens merci de l'accepter
3
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
6 janv. 2006 à 22:55
Et utilises plutot un Select Case pour tester le résultat de ta messagebox (à partir de 3 valeurs possibles, cela fait plus propre et est plus facile à lire/maintenir que des if else ...)

Select Case S
Case MsgBoxResult.Yes
' Code si Yes clické
Case MsgBoxResult.No
' Code si No clické
Case MsgBoxResult.Cancel
' Code si Cancel clické
End Select

Et pourquoi avoir déclarer S en string ??? Ce ne serait t'y pas plutot System.Windows.Forms.DialogResult le bon type ?

CR
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
7 janv. 2006 à 17:23
Sous vs2003 c'est l'événement Closing comme tu as essayé.
Tu devrais obtenir quelque chose dans ce genre la.

Private Sub FormClosing(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing


If MessageBox.Show("Voulez-vous quitter?", "Sortie", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Cancel Then
e.Cancel = True
End If
End Sub


Si la réponse te conviens merci de l'accepter
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
7 janv. 2006 à 23:22
Et avec ceci ??



Select
Case MessageBox.Show(
" Voulez vous mettres à jour votre base de données ?",
"Confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)



Case Windows.Forms.DialogResult.Yes



Dim cs
As
New SqlCommandBuilder(da)


da.InsertCommand = cs.GetInsertCommand()


da.Update(Ds1.Tables(0))



Case Windows.Forms.DialogResult.Cancel


e.Cancel =
True



End
Select

Voili voilou :)


Si la réponse te conviens merci de l'accepter
3

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

Posez votre question
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 3
7 janv. 2006 à 17:04
bonjour , j'ai utilisé Closing mais ca marche pas comme tu sais moi je devlope avec vb.net y a d'autre solution svp
0
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 3
7 janv. 2006 à 20:37
merci willi pour ton aide ca marche enfin , mais le petit probleme que j'ai mnt c'est qu'il faut que je click 2 fois sur le bouton CANCEL pour que ca marche et la meme chose pour le bouton YES et NO aussi



Private
Sub ClientClosing(
ByVal sender
As System.Object,
ByVal e
As System.ComponentModel.CancelEventArgs)
Handles
MyBase.Closing



If MessageBox.Show(" Voulez vous mettres à jour votre base de données ?", "Confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = MsgBoxResult.Yes
Then



Dim cs
As
New SqlCommandBuilder(da)


da.InsertCommand = cs.GetInsertCommand()


da.Update(Ds1.Tables(0))



End
If



If MessageBox.Show(" Voulez vous mettres à jour votre base de données ?", "Confirmation", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = MsgBoxResult.Cancel
Then


e.Cancel =
True



End
If



End
Sub
0
amylee1984 Messages postés 153 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 20 août 2006 3
8 janv. 2006 à 00:49
merci willi avec le SELECT CASE ca marche tres bien , je suis vraiment dsl pour le derangement
0
Rejoignez-nous