Bild animation Stoppt auf minimieren und wiederherstellen
-
09-09-2019 - |
Frage
Ich habe eine .NET WinForms-Anwendung mit einem animierten GIF in einem PictureBox
.Es ist ein lade-animation angezeigt, während Sie ein BackgroundWorker
einige Verarbeitung in einem anderen thread.Ich lade das Bild durch einstellen der Image
Eigentum und animiert auf Ihrem eigenen.
Alles ist in Ordnung, bis ich zum minimieren und wiederherstellen der Anwendung.An welcher Stelle, das Bild Stoppt die Animation und zeigt nur, was das Bild war letzten auf.
Beachten Sie, dass:
- Der hintergrund-thread immer noch gut läuft und kein "Geschäft" der Anwendung betroffen ist.
- Anschließend angezeigten animierte GIFs tun gut funktionieren (es sei denn, die Anwendung ist wieder minimiert).
Weiß jemand, was dieses problem verursacht?Irgendwelche Problemumgehungen?
Lösung
Anscheinend ist der PictureBox ausdrücklich Stoppt die animation, wenn das Fenster verdeckt ist.Das PictureBox-Steuerelement sollte für ungültig erklärt werden und neu gestrichen werden, wenn das Fenster nicht mehr verdeckt, sondern die Nichtigkeit Ereignis geschieht nicht automatisch auf Vista.
Eine Problemumgehung ist das hinzufügen einer timer auf das Formular aufruft PictureBox.Invalidate() alle 500 MS.Dadurch wird sichergestellt, dass die animation nie aufhört.
Finden in diesem MSDN-thread weitere Informationen.
Andere Tipps
Ich weiß nicht, was es verursacht, aber was ist, wenn Sie erkennen, wenn es minimiert ist und es ist jedes mal wiederhergestellt, es wieder einzublenden?