Boucler sur MsgBox Retry Cancel C#

Résolu
sphaxslayer
Messages postés
216
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
17 septembre 2008
- 12 avril 2005 à 14:47
sphaxslayer
Messages postés
216
Date d'inscription
mardi 5 avril 2005
Statut
Membre
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é...

3 réponses

Gaxx
Messages postés
28
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
19 mars 2008

12 avril 2005 à 18:14
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
3
Gaxx
Messages postés
28
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
19 mars 2008

12 avril 2005 à 18:18
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
3
sphaxslayer
Messages postés
216
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
17 septembre 2008

13 avril 2005 à 10:44
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é..."
0