我有一个.NET WinForms应用程序,在PictureBox
中有一个动画GIF。这是一个加载动画,显示BackgroundWorker
在另一个线程中进行一些处理。我通过设置Image
属性来加载图像,并且它自己动画。
一切正常,直到我最小化并恢复应用程序。此时,图像停止动画,只显示最后一帧。
请注意:
有谁知道导致这个问题的原因是什么?任何解决方法?
答案 0 :(得分:1)
显然,只要窗口被遮挡,PictureBox就会显式停止动画。当窗口不再被遮挡时,PictureBox应该无效并重新绘制,但失效事件不会在Vista上自动发生。
一种解决方法是在表单中添加一个计时器,每隔500毫秒调用一次PictureBox.Invalidate()。这将确保动画永不停止。
有关详细信息,请参阅this MSDN thread。
答案 1 :(得分:0)
我不知道是什么原因造成的,但是如果你发现它被最小化并且每次恢复它会重新显示它会怎么样?