Outils pour utilisateurs

Outils du site


bloc1:evenementiel2

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
bloc1:evenementiel2 [2023/01/19 22:12] – créée techer.charles_educ-valadon-limoges.frbloc1:evenementiel2 [2023/01/19 22:35] (Version actuelle) techer.charles_educ-valadon-limoges.fr
Ligne 1: Ligne 1:
 ====== Fiche savoirs : programmation événementielle en C# partie 2 ====== ====== Fiche savoirs : programmation événementielle en C# partie 2 ======
  
 +===== Limiter les accès aux objets graphiques =====
 + 
 +Il est possible de rendre un objet graphique inaccessible. Cela peut permettre d’éviter certains tests et rend l’interface plus parlante pour l’utilisateur : il voit qu’il ne peut pas accéder à l’objet. 
 +
 +<code c#>
 +btnSupprimer.Enabled = false; 
 +</code>
 +
 +===== Rendre invisible un objet objet graphique =====
 + 
 +Il est possible de rendre un objet graphique inaccessible. Cela peut permettre d’éviter certains tests et rend l’interface plus parlante pour l’utilisateur : il voit qu’il ne peut pas accéder à l’objet. 
 +
 +<code c#>
 +btnSupprimer.Visible = false; 
 +</code>
 +
 +===== Gérer le focus =====
 + 
 +Il est possible de définir l'objet qui doit avoir le focus. 
 +
 +<code c#>
 +txtTitre.Focus(); 
 +</code>
 +
 +===== Optimiser le code avec des fonctions =====
 +Les optimisations sont pour éviter des répétitions de code en plaçant un code utilisable plusieurs fois dans une fonction. 
 +
 +Exemple pour gérer la reposition du focus qui doit se faire plusieurs fois sur la même zone de texte.
 +
 +Il est possible de créer automatiquement une fonction non événementielle à partir de ligne(s) de code sélectionnée(s). 
 +
 +=== Sélectionner le code à isoler :  ===
 +À n’importe quel endroit, sélectionnez la ligne de code qui gère la position du focus sur la zone de texte. 
 + 
 +<code c#>
 +txtTitre.Focus(); 
 +</code>
 +
 +=== Demander de refactorisation : ===
 +
 +Clic droit sur la sélection et, dans le menu qui s’affiche, sélectionnez **Actions rapides et refactorisations…**
 +{{:bloc1:c_01.jpg|}}
 +
 +=== Demander de création de la procédure : ===
 +Dans le nouveau menu, sélectionnez **Extraire une méthode** :
 +  * il va y avoir la création d’une méthode **NewMethod** contenant le code sélectionné. 
 +  * Remplacement de la sélection par l’appel de la méthode. 
 +{{:bloc1:c_02.jpg|}}
 +
 +=== Renommer la méthode : ===
 + 
 +Il vous est directement proposé de renommer la méthode. 
 +
 +Directement sur le nom actuel qui est sur fond vert, tapez un nouveau nom (par exemple **GestionZoneDeSaisie**) : 
 +  * remarquez que le nom de l’appel se change en même temps. 
 +  * Validez ou cliquez sur **Appliquer**. 
 +La méthode est créée ainsi que le premier appel.  
 +
 +{{:bloc1:c_03.jpg|}}
 +{{:bloc1:c_04.jpg|}}
 + 
 + 
 +=== Appeler la méthode : === 
 +
 +Partout où se trouve la ligne de code qui permet de remettre le focus sur la zone de texte, remplacez la ligne par l’appel de la méthode. 
 +<code c#>
 +private void frmFilms_Load(object sender, EventArgs e) 
 +
 +    lblTitre.Text = "";     
 +GestionZoneDeSaisie(); 
 +}
 +</code>
 +
 +
 +Par exemple, au chargement du formulaire.  Optimiser la méthode : 
 +Logiquement, lorsque le focus est replacé sur la zone de saisie, celle-ci doit être préalablement vidée. Ajouter la ligne correspondante. 
 +<code c#>
 +private void GestionZoneDeSaisie() 
 +{
 +     txtTitre.Text = "";     
 +     txtTitre.Focus(); 
 +
 +</code>
 + 
bloc1/evenementiel2.1674162740.txt.gz · Dernière modification : 2023/01/19 22:12 de techer.charles_educ-valadon-limoges.fr