C#如何阻止动画gif不断循环

C#如何阻止动画gif不断循环,c#,winforms,animated-gif,C#,Winforms,Animated Gif,当我的应用程序使用互联网时,我会调用一个事件。事件将更改由7帧组成的动画gif。如何使其仅在帧中循环一次 private void trafficSendingActive(object sender, trafficEventArgs e) { txImage.Image = Properties.Resources.blip; } 当进度事件完成时,您可以从GIF图像(非动画)中提取单个帧 txImage.Image

当我的应用程序使用互联网时,我会调用一个事件。事件将更改由7帧组成的动画gif。如何使其仅在帧中循环一次

        private void trafficSendingActive(object sender, trafficEventArgs e)
        {
            txImage.Image = Properties.Resources.blip;
        }

当进度事件完成时,您可以从
GIF
图像(非动画)中提取单个帧

txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg");

您可以使用此网站从gif提取帧:

您可以使用
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
}

您可以始终将image/gif封装在Picturebox中,当您希望gif停止时,只需将Picturebox的Enabled属性设置为false


只是想一想。

您可以使用
pictureBox.Enabled=false
如果要停止GIF&
pictureBox.Enabled=true当您希望它运行GIF时。

这不起作用
txImage.Image=(blip)
或者您可能需要将该代码移动到某个
OnPaint事件
禁用txtImage将阻止gif动画。