bloc1:evenementiel2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
bloc1:evenementiel2 [2023/01/19 22:12] – créée techer.charles_educ-valadon-limoges.fr | bloc1: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; | ||
+ | </ | ||
+ | |||
+ | ===== 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; | ||
+ | </ | ||
+ | |||
+ | ===== Gérer le focus ===== | ||
+ | |||
+ | Il est possible de définir l' | ||
+ | |||
+ | <code c#> | ||
+ | txtTitre.Focus(); | ||
+ | </ | ||
+ | |||
+ | ===== 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(); | ||
+ | </ | ||
+ | |||
+ | === Demander de refactorisation : === | ||
+ | |||
+ | Clic droit sur la sélection et, dans le menu qui s’affiche, | ||
+ | {{: | ||
+ | |||
+ | === 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. | ||
+ | {{: | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | |||
+ | === 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(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Par exemple, au chargement du formulaire. | ||
+ | Logiquement, | ||
+ | <code c#> | ||
+ | private void GestionZoneDeSaisie() | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ |
bloc1/evenementiel2.1674162740.txt.gz · Dernière modification : 2023/01/19 22:12 de techer.charles_educ-valadon-limoges.fr