Problème DialogResult

Problème DialogResult - C#/.NET managed - Programmation

Marsh Posté le 17-04-2005 à 20:47:46    

Bonjoir !!
 
Je me torture les neuronnes depuis quelques heures avec ce DialogResult. Quelquels lignes de codes vallent mieux que de longues phrases ;)
 

Code :
  1. private void Play(object sender, System.EventArgs e)
  2.  {
  3.   if (txtRep.Text != "" )
  4.   {
  5.    int y = Convert.ToByte(txtRep.Text,10);
  6.    int z = Convert.ToByte(lblJeu.Text,10);
  7.    if (y > z)
  8.    {
  9.     lblRep.Text = "Trop grand";
  10.    }
  11.    else if (y < z)
  12.    {
  13.     lblRep.Text = "Trop petit";
  14.    }
  15.    else
  16.    {
  17.     lblRep.Text = "Bravo !";
  18.     DialogResult result = MessageBox.Show("C'est reparti ?","Continuer?", MessageBoxButtons.YesNo);
  19.    }
  20.    if (result == DialogResult.Yes)
  21.    {
  22.     lblJeu.Text = Convert.ToString(Ran(),10);
  23.   }
  24.    else
  25.    {
  26.     Application.Exit();
  27.    }
  28.   }
  29.   else { MessageBox.Show("Veuillez saisir un entier !","Erreur !" ); }
  30.  }


 
L'erreur est la suivante :  

Code :
  1. Le nom 'result' n'existe pas dans la classe ni dans l'espace de noms 'App1.frmMain'


 
 
En trifouillant un peu j'ai bien compris que ça ne lui plaisait pas que result soit créé dans un if, puisque quand je le met en avant les tests, ça fonctionne, mais ça ne sert pu à rien dans mon cas.
 
Si vous pouviez m'éclairer.
 
Merci

Reply

Marsh Posté le 17-04-2005 à 20:47:46   

Reply

Marsh Posté le 17-04-2005 à 21:00:00    

problème de portée de variable : ta variable result est créee dans un bloc if/else if/else, et "meurt" donc à la fin de ce bloc, ce qui fait qu'elle n'existe plus dans le bloc if/else suivant.
ceci devrait mieux marcher :

Code :
  1. private void Play(object sender, System.EventArgs e)
  2. {
  3. if (txtRep.Text != "" )
  4. {
  5.  int y = Convert.ToByte(txtRep.Text,10);
  6.  int z = Convert.ToByte(lblJeu.Text,10);
  7.  if (y > z)
  8.  {
  9.   lblRep.Text = "Trop grand";
  10.  }
  11.  else if (y < z)
  12.  {
  13.   lblRep.Text = "Trop petit";
  14.  }
  15.  else
  16.  {
  17.   lblRep.Text = "Bravo !";
  18.   DialogResult result = MessageBox.Show("C'est reparti ?","Continuer?", MessageBoxButtons.YesNo);
  19.   if (result == DialogResult.Yes)
  20.   {
  21.    lblJeu.Text = Convert.ToString(Ran(),10);
  22.   }
  23.   else
  24.   {
  25.    Application.Exit();
  26.   }
  27.  }
  28. }
  29. else { MessageBox.Show("Veuillez saisir un entier !","Erreur !" ); }
  30. }


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 17-04-2005 à 21:07:40    

En effet, erreur bête.
 
Merci beaucoups !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed