Lorsque j'appelle une procédure d'évènement par exemple gotFocus (appellé sur plusieurs types de controles WinForms sur l'évènement GotFocus), je dois pour modifier certaines propriétés à condition que le sender soit d'un type précis
(hors de question de faire un ((Control)Sender).BackColor pour coloriser les labels ect....
Je procède donc de la manière suivante, je me demandais si il y avait une manière plus élégante de procéder. Par exemple je pourrais tester toutes les conditions typeOf() puis faire soit un return; direct soir utiliser alors la classe mère Control.
Je vous soumets le problèmes pour vos retours d'expérience. Merci bien d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public static void gotFocus(object sender, System.EventArgs args) { // on récupère le type de l'objet ayant déclenché l'évènement // on le cast puis on modifie la propriété de fond if (sender.GetType() == typeof (TextBox)) { ((TextBox)sender).propriété = valeur; (....) return; } (....) }
Partager