C#如何阻止动画gif不断循环
当我的应用程序使用互联网时,我会调用一个事件。事件将更改由7帧组成的动画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
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动画。