Boucler sur MsgBox Retry Cancel C# [Résolu]

Messages postés
216
Date d'inscription
mardi 5 avril 2005
Dernière intervention
17 septembre 2008
- - Dernière réponse : sphaxslayer
Messages postés
216
Date d'inscription
mardi 5 avril 2005
Dernière intervention
17 septembre 2008
- 13 avril 2005 à 10:44
Salut à vous tous,
En fait j'ai un problème avec une MessageBox Retry/Cancel en C#. La MsgBox est appelée lorsque je clique sur un bouton qui lance une exception en cas de problème (dans mon cas, j'ai simulé l'exception en la levant moi-même) . J'aimerais que lorsque je clique sur 'Retry' il réaffiche la MsgBox (j'ai pas encore fait la prtie traitement, c'est pour une connexion, donc en gros, si la connexion rate, il dit que c'est pas bon et il propose de réessayer, et là j'aimerais qu'il me redise que ca marche pas, alors que si j'clique sur 'Retry', il continue le programme comme si de rien n'était....:( )

J'ai 2 débuts d'idées que j'ai trouvées en fouinant un peu partout mais j'suis pas sûr qu'elles soient bonnes et/ou les meilleures:
- faire un switch sur le DialogResult.Retry -> auquel cas je sais pas lui dire de relancer la MsgBox :s
- rappeler la fonction Bttn_Click dans le cas où on clique sur Retry justement...

Donc voilà, si vous pouvez m'aider... merci beaucoup

Un seul Être vous manque, et tout est dépeuplé...
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
28
Date d'inscription
lundi 20 décembre 2004
Dernière intervention
19 mars 2008
3
Merci
Salut, j'ai fait une boucle ressemblant à ce que tu veux. Je teste la validité d'un chemin et tant que le chemin sélectionné est invalide je propose de le sélectionner à nouveau ou d'annuler. Si l'utilisateur clique sur "Cancel" (ou "Annuler") alors je place mon booléen problème à true. et du coûp ma boucle est finie. Si le chemin est bon la boucle se termine aussi.
Après ça mon booléen problème me permet de savoir si je dois quiter ou pas.

Le bout de code est comme suit :



bool problème =
false;


#region Vérification du chemin de la BDD



while ((!File.Exists(cheminBDD))&&(problème==
false))


{



bool sélectionDemandée;


System.Windows.Forms.DialogResult resultatAvertissement;


resultatAvertissement = MessageBox.Show(



this


,"Attention, la base de données est introuvable à l'emplacement : \n\n"+cheminBDD+"\n\nVeuillez sélectionner la base de données."


, "Base de donnée introuvable"


,System.Windows.Forms.MessageBoxButtons.OKCancel


,System.Windows.Forms.MessageBoxIcon.Error


);


sélectionDemandée (resultatAvertissement System.Windows.Forms.DialogResult.OK);



if(sélectionDemandée ==
true)


{


DialogResult drSélection = maître.openFileDialogChoisirBDD.ShowDialog();



if(drSélection==DialogResult.OK)


{


cheminBDD = maître.openFileDialogChoisirBDD.FileName;


}


}



else


{


problème =
true;


}


}

Gaxx

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Gaxx
Messages postés
28
Date d'inscription
lundi 20 décembre 2004
Dernière intervention
19 mars 2008
3
Merci
NB : ce code est dans une Form qui s'adresse à sa Form mère (mon mdiContainer) dont le nom est : maître.

Cette Form contient la fenêtre de sélection de fichier "openFileDialogChoisirBDD".

Gaxx

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Gaxx
Messages postés
216
Date d'inscription
mardi 5 avril 2005
Dernière intervention
17 septembre 2008
0
Merci
Salut Gaxx,
je te remercie c'est ce que je recherchais c'est sympa merci!

"Un seul Être vous manque, et tout est dépeuplé..."
Commenter la réponse de sphaxslayer

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.