Afficher une variable dans un MessageBox en C#

Signaler
Messages postés
3
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
22 novembre 2009
-
BRICE1182
Messages postés
9
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 avril 2010
-
Bonsoir à tous.
Voila j'ai un petit souci en C#, je n'arrive pas à afficher une variable dans un messagebox. J'espère que vous pourrez m'aidez, voila mon code :

public decimal getCalculNote()
{

decimal TotalNote;
TotalNote = 0;

if (radioButton1.Checked)
{
return MessageBox.Show("Votre moyenne est de :"+TotalNote.ToString);
}


Cela m'affiche l'erreur "L'opérateur '+' ne peut pas être appliqué aux opérandes de type 'string' et 'groupe de méthodes'".

Merci pour vos réponses.

8 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
Essaye avec ceci :
return MessageBox.Show("Votre moyenne est de :"+TotalNote.ToString());

J'ai souvent ce message en C#, et souvent ça vient du fait que je ne met pas les parathèses aux fonctions et méthodes, trop habitué à VB qui, lui, les met tout seul.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
3
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
22 novembre 2009

J'avait essayer ton idée mais malheureusement sa me retourne une nouvelle erreur qui est :

"Impossible de convertir implicitement le type 'System.Windows.Forms.DialogResult' en 'decimal'. Une conversion explicite existe (un cast est-il manquant ?)"

Y'aurait il d'autre idée ?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
Oui il existe une conversion explicite :
return (decimal)MessageBox.Show("Votre moyenne est de :"+TotalNote.ToString());


Mais est-ce bien ce que tu veux faire ???
Tu essaye de retourner le résultat d'une messagebox, qui plus est sera toujours le même, à la place d'une valeur numérique.

Ton code ne serait-il pas plutot celui-ci :

public decimal getCalculNote()
{
  decimal TotalNote;
  TotalNote = 0;

  if (radioButton1.Checked)
  {
    MessageBox.Show("Votre moyenne est de :"+TotalNote.ToString);
  } 
  else
  {
    ....
  }
  return TotalNote;
}


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
3
Date d'inscription
vendredi 13 novembre 2009
Statut
Membre
Dernière intervention
22 novembre 2009

Merci casy !
Sa marche nikel c'est ce dont j'avait besoin.
Mon code est correct maintenant, merci.
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Salut,

Messagebox retourne un DialogResult, non pas un double

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
31
trop habitué à VB qui, lui, les met tout seul

Je croyais qu'en VB, le fait de mettre des parenthèse dépendait du fait qu'il s'agisse d'une procédure ou d'une fonction...

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
En .Net il est recommander de mettre aussi bien en VB que en C# les parenthèses, mais en VB effectivement ce n'est pas obligatoire s'il n'y a pas d'arguments, mais comme MS, je le recommande vivement

Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
Messages postés
9
Date d'inscription
mercredi 9 décembre 2009
Statut
Membre
Dernière intervention
23 avril 2010

Bonjour!
mon problème est le suivant: Je veux quitter mon application par une demande de confirmation lorsque je clic dans le boutton de fermeture. Ainsi j'ai écris le bout de code suivant:


private void Form9_FormClosing(object sender, FormClosingEventArgs e)
{
//Message de fermeture de l'application
DialogResult réponse = MessageBox.Show("Voulez-vous vraiment quitter l'application?", "fermer", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (réponse == DialogResult.No)
e.Cancel = true;

}
Mais malheuresement il ne passe pas dans la second interface. Aussi j'ai essayé de quitter l'application par un boutton "quitter" en écrivant le code suivant:


private void button3_Click(object sender, EventArgs e)
{
//Permet de quitter l'application
DialogResult réponse = MessageBox.Show("Voulez-vous vraiment quitter l'application?", "Fermer", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (réponse == DialogResult.No)
Application. Exit();
}
Mais pas de résultat favorable...
Aidez moi s'il vous plait