Comment implémenter une étiquette clignotante sur un formulaire
J'ai un formulaire qui affiche la file d'attente de messages et le nombre de ces messages peut être changé. Vraiment je veux clin d'étiquette (longueur de file d'attente) lorsque le nombre de messages a été augmenté pour améliorer la forme de la convivialité.
Dois-je mettre en œuvre le contrôle personnalisé et l'utilisation de threads supplémentaires ou une minuterie pour changer la couleur de l'étiquette? Personne n'a mis en oeuvre afin de la fonctionnalité? Quelle est la meilleure solution (moins de ressources et moins de la dégradation de la performance) à mettre en œuvre afin que le comportement?
SOLUTION:
Forme du composant avec minuterie qui peut limiter le nombre d'animations par seconde et de mettre en œuvre effet de fondu de sortie externe de contrôle de la couleur d'arrière-plan.
source d'informationauteur garik
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer des composants personnalisés et des événements pour commencer à clignoter. Je pense est la bonne solution. Clignoter, vous pouvez mettre en œuvre avec minuterie.
Le suivant clignote à l'aide de
async
etawait
Ici est assez simple de mise en œuvre qui serait à l'œuvre à l'intérieur de votre forme. Vous pouvez également créer un contrôle personnalisé avec le même code et il suffit de jeter les
Timer.Start()
dans une méthode de contrôle.Je sais que c'est un très vieux post, mais quelqu'un qui cherche quelque chose d'un peu plus polyvalent que le Booléen solutions posté peut obtenir une certaine utilisation de ce qui suit:
Que vous pouvez l'appeler comme tel:
Créer votre propre
UserControl
pour cela, celui qui hérite deLabel
au lieu de partir deControl
directement. Ajouter unStartBlinking
méthode, dans laquelle vous démarrez unTimer
objet dont l'événement tick modifie le style de l'étiquette (modification de la BackgroundColor et ForegroundColor propriétés à chaque fois pour créer l'effet de clignotement).Vous pouvez également ajouter une
StopBlinking
méthode pour l'éteindre, ou vous pourriez avoir votreTimer
s'arrêter au bout de 5 secondes, peut-être.Pouvez-vous utiliser une animation
.gif
à la place (peut-être que l'arrière-plan de le nombre)? il serait de la faire ressembler à la vieille école des pages web, mais il pourrait fonctionner.