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?

Était-ce utile?

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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top