bloc1:evenementiel2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
bloc1:evenementiel2 [2023/01/19 22:20] – techer.charles_educ-valadon-limoges.fr | bloc1: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; | ||
+ | </ | ||
+ | |||
+ | ===== 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; | ||
</ | </ | ||
Ligne 17: | Ligne 25: | ||
</ | </ | ||
- | ==== 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 | + | Exemple pour gérer |
+ | |||
+ | Il est possible de créer automatiquement une fonction | ||
+ | |||
+ | === 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, | + | |
- | Demander de création de la procédure | + | Clic droit sur la sélection et, dans le menu qui s’affiche, |
- | : | + | {{: |
- | Dans le nouveau menu, sélectionnez | + | |
- | 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 | + | Dans le nouveau menu, sélectionnez |
+ | * il va y avoir la création | ||
+ | * 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 | ||
+ | * 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. | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | === 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.Focus(); | + | |
- | } | + | |
Par exemple, au chargement du formulaire. | Par exemple, au chargement du formulaire. | ||
Logiquement, | Logiquement, | ||
- | + | <code c#> | |
- | private void btnAjouter_Click(object sender, EventArgs e) | + | private void GestionZoneDeSaisie() |
- | { string titre = txtTitre.Text.ToUpper(); if | + | { |
- | (!titre.Equals("" | + | txtTitre.Text |
- | } | + | |
- | 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