2009-06-04 19 views
1

アニメーションGIFを持つ.NET WinFormsアプリケーションをPictureBoxに持っています。 BackgroundWorkerが別のスレッドで何らかの処理をしている間に表示される読み込みアニメーションです。 Imageプロパティを設定してイメージをロードし、それ自身でアニメートします。イメージアニメーションの最小化と復元時に停止

アプリケーションを最小化して復元するまでは問題ありません。どちらの時点で、イメージのアニメーションが停止し、最後に表示されたフレームが表示されます。バックグラウンドスレッドは、まだ正常に動作し、アプリケーションの「事業」のどれも影響を受けません

  • 注こと。

  • その後表示されるアニメーションGIFは正常に動作します(アプリケーションが再び最小化されない限り)。

誰でもこの問題の原因を知っていますか?回避策はありますか?

答えて

1

明らかに、ピクチャボックスは、ウィンドウが隠れているときは常に明示的にアニメーションを停止します。ウィンドウがもはや隠されなくても、Vistaでは無効化イベントが自動的に発生しない場合、ピクチャボックスは無効化され、再描画される必要があります。

1つの回避策は、PictureBox.Invalidate()を500msごとに呼び出すタイマーをフォームに追加することです。これにより、アニメーションが決して止まらないようになります。

詳細については、this MSDN threadを参照してください。

+0

興味深いリンクに感謝します。他の誰かを知ってうれしいことも問題です。回避策は非常に面倒ですが、私たちが考えている最高のものです。 –

0

私は何が原因なのか分かりませんが、最小化されたときとそれが復元されるたびに検出されたらどうしますか?

関連する問題