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.
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));
}