animation d'images s'arrête sur la réduction et la restauration
-
09-09-2019 - |
Question
J'ai une application .NET WinForms avec un GIF animé dans un PictureBox
. Il est une animation de chargement, montre alors qu'un BackgroundWorker
fait un peu de traitement dans un autre thread. Je charge l'image en définissant la propriété Image
et il anime lui-même.
Tout va bien jusqu'à ce que je réduis au minimum et de rétablir l'application. À ce moment-là, l'image cesse et affiche animant juste ce cadre, il était sur la dernière.
Notez que:
- Le fil de fond fonctionne toujours bien et aucun des « affaires » de l'application est affectée.
- GIF animés Par la suite, affichés ne fonctionnent bien (sauf si l'application est réduite à nouveau).
Quelqu'un sait ce qui cause ce problème? Toutes les solutions de contournement?
La solution
Apparemment, le PictureBox arrête explicitement l'animation chaque fois que la fenêtre est obscurci. Le PictureBox doit être invalidée et repeint lorsque la fenêtre n'est obscurci plus, mais l'événement ne se produit pas infirmation automatiquement Vista.
Une solution consiste à ajouter une minuterie à votre formulaire qui invoque PictureBox.Invalidate () toutes les 500ms. Cela permettra d'assurer que l'animation ne cesse jamais.
Voir ce MSDN fil pour plus d'informations.
Autres conseils
Je ne sais pas ce qu'il provoque, mais si vous détectez quand il est réduit au minimum et chaque fois qu'il est restauré réafficher?