C# Problème avec textbox
overpowed
Messages postés
116
Date d'inscription
Statut
Membre
Dernière intervention
-
overpowed Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
overpowed Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
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.
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
-
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)); } -
merci pour la réponse, je vais tester ça!