我在我的表单上的PictureBox中有一个动画gif,但它总是循环播放,我怎么才能让它只播放一次?
在另一个程序(例如浏览器)中查看gif时,它只会播放一次。然而,在我的表单上,它一直循环,动画循环之间只有一个非常短暂的暂停。
答案 0 :(得分:1)
如果您可以确定周期的长度,可以在适当的时间后禁用图片框来停止动画。
编辑:在查看PictureBox源代码之后,看起来没有办法在PictureBox本身中修改此行为。
然而,确实存在一个可行的替代方案:ImageAnimator类,它是PictureBox内部使用的类。 MSDN文章提供了一个如何动画一次的好样本。
答案 1 :(得分:0)
这是一个相当简单的解决方案。我为动画gif的一个循环的总组合时间创建了一个计时器。当计时器停止时,它会将图像更改为图片框中的静止图像。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
PictureBox1.Image = Image.FromFile("c:\GIF\AnimatedGif.gif")
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
PictureBox1.Image = Image.FromFile("c:\GIF\StillImage.gif")
Timer1.Enabled = False
End Sub