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

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc1:evenementiel2 [2023/01/19 22:20] techer.charles_educ-valadon-limoges.frbloc1:evenementiel2 [2023/01/19 22:35] (Version actuelle) techer.charles_educ-valadon-limoges.fr
Ligne 7: Ligne 7:
 <code c#> <code c#>
 btnSupprimer.Enabled = false;  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> </code>
  
Ligne 17: Ligne 25:
 </code> </code>
  
-==== Optimiser le code avec des modules classiques ====+===== 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.  Les optimisations sont pour éviter des répétitions de code en plaçant un code utilisable plusieurs fois dans une fonction. 
-Ici, la reposition du focus sur la zone de texte se fait plusieurs fois. Créer une procédure événementielle juste pour une ligne de code ne parait pas logique. Pourtant, on peut imaginer d’autres lignes de code qui pourraient s’y ajouter. D’ailleurs ici, il est logique que la zone de texte soit aussi systématiquement vidée avant de repositionner le focus dessus  + 
-Il est possible de créer automatiquement une procédure non événementielle à partir de ligne(s) de code sélectionnée(s). +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();  txtTitre.Focus(); 
-Sélectionner le code à isoler :   +</code> 
-À n’importe quel endroit, sélectionnez la ligne de code correspondant à la position du focus sur la zone de texte.  + 
-Demander de refactorisation :  +=== Demander de refactorisation : === 
-Clic droit sur la sélection et, dans le menu qui s’affiche, sélectionnez "Actions rapides et refactorisations… + 
-Demander de création de la procédure  +Clic droit sur la sélection et, dans le menu qui s’affiche, sélectionnez **Actions rapides et refactorisations…** 
-:  +{{:bloc1:c_01.jpg|}} 
-Dans le nouveau menu, sélectionnez "Extraire une méthode". L’aperçu de droite montre ce qui va être fait Création d’une méthode "NewMethodcontenant le code sélectionné. Remplacement de la sélection par l’appel de la méthode.  + 
-Renommer la méthode :  +=== Demander de création de la procédure : === 
-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"+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.   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)  private void frmFilms_Load(object sender, EventArgs e) 
  
     lblTitre.Text = "";          lblTitre.Text = "";     
 GestionZoneDeSaisie();  GestionZoneDeSaisie(); 
-}  +
-Appeler la méthode :  +</code> 
-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.  + 
-private void GestionZoneDeSaisie()  +
-{     txtTitre.Text =  +
-"";      +
-txtTitre.Focus();  +
-+
 Par exemple, au chargement du formulaire.  Optimiser la méthode :  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.  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 btnAjouter_Click(object sender, EventArgs e)  +private void GestionZoneDeSaisie()  
-{     string titre = txtTitre.Text.ToUpper();     if  +{ 
-(!titre.Equals(""))     {         lstTitres.Items.Add(titre);         lblTitre.Text = titre;         txtTitre.Text = "";  +     txtTitre.Text = "";      
-    }  +     txtTitre.Focus(); 
-    GestionZoneDeSaisie(); +
  
-Nettoyer le code :  +</code>
-Dans le reste du code, enlevez les lignes qui vident la zone de texte (attention, n’enlevez pas les lignes qui vides le label). A priori, ce n’est que sur le clic de btnAjouter.  +
-  +
- +
    
-  
-  
-  
- 
bloc1/evenementiel2.1674163235.txt.gz · Dernière modification : 2023/01/19 22:20 de techer.charles_educ-valadon-limoges.fr