1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
namespace NoyauDLL
{
public class Interface
{
/// <summary>Couleur d'arrière plan pour les contrôles ayant le focus</summary>
private static Color gotFocusColor;
/// <summary>Couleur d'arrière plan pour les contrôles n'ayant pas le focus</summary>
private static Color lostFocusColor;
/// <summary>
/// Initialisation de la classe static Interface.
/// Charge les valeurs des variables (entre autre : couleurs de fond)
/// </summary>
static Interface()
{
gotFocusColor = Color.FromArgb(180, 226, 239);
lostFocusColor = Color.FromArgb(255, 255, 255);
}
/// <summary>
/// Gère la propriété GotFocus des contrôles présents sur la fenêtre.
/// Si le contrôle n'est pas un type pris en charge par la fonction, elle désabonne le contrôle de l'évènement GotFocus sur la fonction afin de ne plus effectuer d'appels inutiles dans le futur.
/// </summary>
/// <param name="sender">Objet ayant déclenché l'évènement</param>
/// <param name="args">Arguments & paramètres relatifs à l'évènement</param>
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).BackColor = gotFocusColor;
((TextBox)sender).GotFocus -= new EventHandler(NoyauDLL.Interface.gotFocus);
return;
}
// si on est là c'est qu'on ne gère pas ce type de contrôle donc on désabonne l'objet
((Control)sender).GotFocus -= new EventHandler(NoyauDLL.Interface.gotFocus);
}
}
} |
Partager