animação de imagem pára na minimização e restauração
-
09-09-2019 - |
Pergunta
Eu tenho um aplicativo WinForms com um GIF animado em um PictureBox
. É uma animação de carregamento, mostrado enquanto um BackgroundWorker
faz algum processamento em outro segmento. Eu carregar a imagem, definindo a propriedade Image
e anima por conta própria.
Tudo está bem até que eu minimizar e restaurar o aplicativo. Em que ponto, a imagem pára animador e mostra apenas o que quer quadro era passado sobre.
Note que:
- A discussão de fundo ainda funciona muito bem e nenhum dos "negócios" do aplicativo é afetado.
- GIFs Subsequentemente-exibido animados fazer funcionar bem (a menos que o aplicativo é minimizado novamente).
Alguém sabe o que causa esse problema? Quaisquer soluções alternativas?
Solução
Aparentemente, o PictureBox pára explicitamente animação sempre que a janela é obscurecida. O PictureBox deve ser invalidado e redesenhado quando a janela não é mais obscurecida, mas o evento de invalidação não acontece automaticamente no Vista.
Uma solução é adicionar um temporizador para o formulário que invoca PictureBox.Invalidate () a cada 500ms. Isso irá garantir que a animação não pára nunca.
Consulte este MSDN enrosque para obter mais informações.
Outras dicas
Eu não sei o que ele faz, mas o que se você detectar quando é minimizada e cada vez que é restaurada exibi-la novamente?