C# Problème avec textbox

Fermé
overpowed Messages postés 116 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 19 octobre 2013 - 2 oct. 2011 à 11:45
overpowed Messages postés 116 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 19 octobre 2013 - 2 oct. 2011 à 14:17
Bonjour,
je n'arrive pas à avoir les bonnes données en convertissant des °C en °F.
Dans le code, ça ne récupère pas ce que je marque dans mon textbox. Normalement en cochant la conversion que l'on veux, il me convertit les données.

Voici le code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Convertisseur
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

int far; //Pour pouvoir faire les calculs
double result;

public void convert()
{
far = Convert.ToInt32(tbxInitTemp.Text); C'est ici que je récupère les données //de mon txtbox en le convertissant en int. IntTemp est le text box où je mets la //température à convertir
}

//In Celcius\\
private void checkBxCelcius_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxFarenheit.Checked == true) //Vérification des checkbox
{

tbxResultat.Text = "";

this.checkBoxFarenheit.Checked = false;
this.checkBxCelcius.Checked = true;
result = (5.0 / 9.0) * (far - 32); //Le calcul en question pour convertir
tbxResultat.Text = Convert.ToString(result);
}
else
{

tbxResultat.Text = "";

result = (5.0 / 9.0) * (far - 32);
tbxResultat.Text = Convert.ToString(result);
}
}

//In Farenheit\\
private void checkBoxFarenheit_CheckedChanged(object sender, EventArgs e)
{
if (checkBxCelcius.Checked == true)
{

tbxResultat.Text = "";
this.checkBxCelcius.Checked = false;
this.checkBoxFarenheit.Checked = true;
result = (9.0 * (far) / 5) + 32;
tbxResultat.Text = Convert.ToString(result);

}
else
{

tbxResultat.Text = "";
result = (9.0 * (far) / 5) + 32;
tbxResultat.Text = Convert.ToString(result);

}
}
}
}


Merci d'avance pour la réponse.

2 réponses

Nico# Messages postés 323 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 août 2013 102
2 oct. 2011 à 12:53
slt,

tu te complique bien la vie avec tes checkbox il existe un controle qui s'appelle radiobutton fait pour sa. A aucun moment tu appelle ta methode convert() alors je vois pas comment tu peut récuperer la valeur de far

Voila un code beaucoup plus simple.


private void BtnConvert_Click(object sender, EventArgs e) // Un bouton pour lancer le calcul
        {
            lblResult.Text = rbCelsius.Checked ? FahrenheitToCelsius() : CelsiusToFahrenheit(); // celon le radiobutton actif 
        }

        private string FahrenheitToCelsius()
        {
           
            return string.Format("{0} °C", Math.Round((Convert.ToDouble(txtTempInit.Text) - 32)*(5F/9F),2)); // On fait la conversion et on arrondi a 2 décimale 
        }

        private string CelsiusToFahrenheit()
        {
            return string.Format("{0} °F", Math.Round((Convert.ToDouble(txtTempInit.Text) *(9F/5F)) + 32,2));
        }
0
overpowed Messages postés 116 Date d'inscription samedi 26 avril 2008 Statut Membre Dernière intervention 19 octobre 2013 2
2 oct. 2011 à 14:17
merci pour la réponse, je vais tester ça!
0