Outils pour utilisateurs

Outils du site


bloc1:evenementiel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc1:evenementiel [2021/11/30 23:02] – [L'interface] techer.charles_educ-valadon-limoges.frbloc1:evenementiel [2023/11/14 13:04] (Version actuelle) – [Le code non événementiel] techer.charles_educ-valadon-limoges.fr
Ligne 29: Ligne 29:
 |btnEffacer|Button|Image : image fournie de la gomme ou image de votre choix redimensionnée| |btnEffacer|Button|Image : image fournie de la gomme ou image de votre choix redimensionnée|
 |btsQuitter|Button|(idem btnEffacer avec une autre image)| |btsQuitter|Button|(idem btnEffacer avec une autre image)|
 +
 +En l'état, l'application peut déjà être testée : les boutons ne sont pas encore actifs mais il est déjà possible de saisir des valeurs dans les zones de saisie.
 +===== Le code événementiel =====
 +Voici le code de chaque événement :
 +  * **Clic sur btnEffacer : ** Vider les 3 zones de texte et le label de l'opération.
 +<code c#>
 +private void btnEffacer_Click(object sender, EventArgs e)
 +{
 +  txtValeur1.Text = "";
 +  txtValeur2.Text = "";
 +  txtResultat.Text = "";
 +  lblOperation.Text = "";
 +}
 +</code>
 +  * **Clic sur btnQuitter :** Quitter l'application.
 +<code c#>
 +private void btnQuitter_Click(object sender, EventArgs e)
 +{
 +  Application.Exit();
 +}
 +</code>
 +  * **Clic sur btnAjouter :** Afficher le signe **+** dans le label de l'opération. \\
 +Faire la somme des 2 valeurs saisies (si c'est possible) et la transférer dans txtResultat
 +<code c#>
 +private void btnAjouter_Click(object sender, EventArgs e)
 +{
 +  try
 +  {
 +    txtResultat.Text = (float.Parse(txtValeur1.Text) + float.Parse(txtValeur2.Text)).ToString();
 +    lblOperation.Text = "+";
 +  }
 +  catch { };
 +}
 +</code>
 +  * **Clic sur btnMultiplier :** Afficher le signe "x" dans le label de l'opération. \\
 +Faire la multiplication des 2 valeurs saisies (si c'est possible) et la transférer dans txtResultat.
 +<code c#>
 +private void btnMultiplier_Click(object sender, EventArgs e)
 +{
 +  try
 +  {
 +    txtResultat.Text = (float.Parse(txtValeur1.Text) * float.Parse(txtValeur2.Text)).ToString();
 +    lblOperation.Text = "x";
 +  }
 +  catch { };
 +}
 +</code>
 +   * **Changement de texte dans txtValeur1 :** Vider l'affichage du résultat et le label de l'opération.
 +<code c#>
 +private void txtValeur1_TextChanged(object sender, EventArgs e)
 +{
 +  txtResultat.Text = "";
 +  lblOperation.Text = "";
 +}
 +</code>
 +  * **Changement de texte dans txtValeur2 :** Vider l'affichage du résultat et le label de l'opération.
 +<code c#>
 +private void txtValeur2_TextChanged(object sender, EventArgs e)
 +{
 +  txtResultat.Text = "";
 +  lblOperation.Text = "";
 +}
 +</code>
 +
 +===== Le code non événementiel =====
 +Il est possible de créer des modules non événementiels, comme dans la programmation procédurale classique, pour optimiser le code.
 +
 +Par exemple, on remarque que le code est identique dans les 2 foncions événementielles sur le changement de texte dans **txtValeur1** et **txtValeur2**. On peut alors créer un module isolé et l'appeler dans les deux procédures événementielles.
 +  * **Isoler le code :** Créer un module non événementiel
 +<code c#>
 +private void AnnuleOperation()
 +{
 +  lblOperation.Text = "";
 +  txtResultat.Text = "";
 +}
 +</code>
 +  * **Appeler le module :** Appeler le module dans les procédures événementielles (par exemple pour **txtValeur1**).
 +<code c#>
 +private void txtValeur1_TextChanged(object sender, EventArgs e)
 +{
 +  AnnuleOperation();
 +}
 +</code>
 +
bloc1/evenementiel.1638309745.txt.gz · Dernière modification : 2021/11/30 23:02 de techer.charles_educ-valadon-limoges.fr