1

アニメーション GIF を含む .NET WinForms アプリケーションがありますPictureBoxBackgroundWorkerこれは、 が別のスレッドで何らかの処理を行っているときに表示される読み込みアニメーションです。プロパティを設定して画像をロードするImageと、それ自体がアニメーション化されます。

アプリケーションを最小化して復元するまで、すべて問題ありません。その時点で、画像のアニメーションが停止し、最後にあったフレームが表示されます。

ご了承ください:

  • バックグラウンド スレッドは正常に動作し、アプリケーションの「ビジネス」には影響しません。
  • 続いて表示されるアニメーション GIF は正常に機能します (アプリケーションを再度最小化しない限り)。

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

4

2 に答える 2

1

どうやら、PictureBox は、ウィンドウが隠れるたびに明示的にアニメーションを停止します。ウィンドウが隠れなくなったら、PictureBox を無効にして再描画する必要がありますが、Vista では無効化イベントが自動的に発生しません。

1 つの回避策は、500 ミリ秒ごとに PictureBox.Invalidate() を呼び出すタイマーをフォームに追加することです。これにより、アニメーションが停止することはありません。

詳細については、この MSDN スレッドを参照してください。

于 2010-03-24T17:41:02.487 に答える
0

何が原因なのかわかりませんが、最小化されたときに検出し、復元されるたびに再表示するとどうなりますか?

于 2009-07-28T06:10:14.380 に答える