当我的应用使用互联网时,我会调用一个事件。该事件更改了由7帧组成的动画gif。我如何只使它只循环一次帧?
private void trafficSendingActive(object sender, trafficEventArgs e)
{
txImage.Image = Properties.Resources.blip;
}
答案 0 :(得分:7)
您可以随时将图像/ gif封装在Picturebox中,当您想要停止gif时,只需将Picturebox的Enabled属性设置为false。
只是一个想法。
答案 1 :(得分:6)
完成进度事件后,您可以从GIF
图像中提取单帧(非动画),
txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");
您可以使用此网站从gif中提取框架:http://gif-explode.com/
答案 2 :(得分:6)
您可以使用System.Drawing.ImageAnimator
来启动/停止gif动画
// start
System.Drawing.ImageAnimator.Animate(txImage.Image, OnFrameChanged);
// stop
System.Drawing.ImageAnimator.StopAnimate(txImage.Image, OnFrameChanged);
private void OnFrameChanged(object sender, EventArgs e)
{
// frame change
}
答案 3 :(得分:3)
如果您想要停止GIF&amp ;;您可以使用pictureBox.Enabled = false;
pictureBox.Enabled = true;
当您希望它运行GIF时。