Gestion des événements
Méthode : Déclaration des attributs privés et chargement du formulaire
En mode de conception, double cliquez sur le formulaire pour créer le squelette de l'événement Chargement du formulaire Form1_Load()
Déclarez et initialisez les attributs privés.
namespace MyFirstCalculator
{
public partial class Form1 : Form
{
//Attributs privés de la classe Form1
private String text;
private char Operator;
private double operande1;
private double operande2;
private double solution;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//initialisation des attributs privés
operande1 = operande2 = solution = 0;
Operator = '=';
text = "0";
}
}
}
Méthode : Gestion de l'événement "Clic sur un nombre"
Dans l'éditeur de code, ajoutez la méthode de gestion de l'événement
numbers_click()
:
private void numbers_click(object sender, EventArgs e)
{
//Conversion de l'objet à l'origine de l'événement en bouton
Button bouton_nombre = (Button)sender;
//Ajout de sa propriété Text au texte à afficher
if (bouton_nombre.Text != "," ||
bouton_nombre.Text=="," &&
!text.Contains(" ,")) text = text + bouton_nombre.Text;
if (text != "0" && text[0] == '0' && text[1] != ',') text = text.Substring(1);
txb_Affichage.Text = text;
}
Dans le mode de conception, maintenez la touche CTRL appuyée et cliquez sur les boutons 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 et "," pour effectuer une multi-sélection.
Dans le gestionnaire d'événement, sélectionnez la méthode
numbers_click()
pour l'événementClick
.
Exécutez et testez le fonctionnement.
Attention :
Expliquez les différents tests effectués dans cette méthodes.
Méthode : Gestion de l'événement "clic sur un opérateur"
Dans l'éditeur de code, ajoutez la méthode de gestion de l'événement
operator
_click()
private void operator_click(object sender, EventArgs e)
{
if (Operator != '=') //Pas au premier passage
{
operande2 = double.Parse(txb_Affichage.Text);
switch (Operator)
{
case '+': solution = operande1 + operande2; break;
case '-': solution = operande1 - operande2; break;
case '*': solution = operande1 * operande2; break;
case '/': solution = operande1 / operande2; break;
}
Operator = '=';
txb_Affichage.Text = solution.ToString();
}
else operande1 = double.Parse(txb_Affichage.Text);
Operator = char.Parse(((Button)sender).Text);
text = "0";
}
Dans le mode de conception, maintenez la touche CTRL appuyée et cliquez sur les boutons +, -, * et / pour effectuer une multi-sélection.
Dans le gestionnaire d'événement, sélectionnez la méthode
operator
_click()
pour l'événementClick
.
Exécutez et testez le fonctionnement.
Attention :
Expliquez les différents tests effectués dans cette méthodes.
Méthode : Gestion de l'événement clic sur le bouton Clear
En mode de conception, double cliquez sur le bouton
Clear
pour créer le squelette de l'événementbtn_Clear_Click()
Insérez le code ci-dessous.
private void btn_Clear_Click(object sender, EventArgs e)
{
//initialisation des attributs privés
operande1 = operande2 = solution = 0;
Operator = '=';
text = "0";
txb_Affichage.Text = text;
}
Exécutez et testez le fonctionnement.