C# n'est certainement pas mon costume fort alors j'apprécie tous les gens généreux partageant leurs connaissances. Je travaille avec un formulaire Windows et j'ai lu sur les événements et j'ai trouvé une excellente aide sur la façon de modifier un TabControl afin que je puisse avoir un événement OnDraw qui va ajouter de la couleur aux onglets.C# - événement couleur TabPage
La couleur de chaque onglet est basée sur l'état d'une variable de connexion: actuelle (vert) perdu (rouge) Stale (jaune)
L'événement OnDraw fonctionne excellent pour mettre à jour la couleur de chaque onglet , mais cela ne se produit que lorsque l'utilisateur sélectionne un autre onglet à afficher. Je voudrais que la couleur de chaque onglet soit mise à jour chaque fois que l'état de la connexion change. Par exemple, supposons que l'onglet n ° 1 soit vert, mais que l'état de connexion devienne obsolète. L'onglet doit alors être coloré en jaune, mais il ne sera pas coloré jusqu'à ce que l'utilisateur clique sur un autre onglet et l'événement OnDraw est déclenché. Donc, j'essaie de comprendre comment faire cela. Lorsque l'événement OnDraw est déclenché normalement (lorsque l'utilisateur clique sur un autre onglet), un paramètre "DrawItemEventArgs" est transmis au gestionnaire pair. Cette variable est déjà remplie avec les données pertinentes nécessaires pour déterminer sur quel onglet a été cliqué, les limites de cet onglet et etc. Donc, je ne sais pas d'où il vient ou comment je peux recréer par programme un tel appel pour re-colorer les onglets chaque fois que la variable de connexion change.
S'il vous plaît laissez-moi savoir si j'ai besoin de clarifier quoi que ce soit! Merci.
La contribution de tout le monde a été si rapide, je m'excuse de ne pas revenir à vous trois hier - je n'ai pas eu l'occasion d'essayer votre suggestion. MikeD, je n'avais pas considéré une minuterie. Cela fonctionnera certainement très bien parce que j'ai besoin de temporiser l'état de la connexion (c'est-à-dire courant -> Stale) si aucune nouvelle donnée n'est reçue pendant un certain temps. Merci! – zlarsen