在WinForm中许多控件(本文以最常用的PictureBox为例)都有Image属性,如果该Image是一个动画Gif的话,它会自动运行动画。在某些场合,我们希望控制该动画的启停,此时我们首先想到了ImageAnimator,但实际使用时,我们发现以下指令根本不起作用,Gif停不下来,具体原因不明:
在WinForm中控制GIF动画的启停的一种方法        ImageAnimator.StopAnimate(box.Image, new EventHandler(OnImageAnimate));
在WinForm中控制GIF动画的启停的一种方法        
private void OnImageAnimate(Object sender, EventArgs e)
    此时,我想到控件的Enable属性,在其为false时,Gif是不会启动的,一旦设其为true,则动画立刻自动运行,因此只要该属性不作它用,则完全可以用来控制动画的启停。
    需要注意的是线程的安全性,以下代码示例实现了某一控件点击后启动Gif运行5秒钟,然后停下来:
在WinForm中控制GIF动画的启停的一种方法        delegate void SetGifEnableCallback(Control control, bool enable);
在WinForm中控制GIF动画的启停的一种方法
在WinForm中控制GIF动画的启停的一种方法        
void picboxSearching_Click(object sender, EventArgs e)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-10
  • 2021-06-15
  • 2022-02-14
  • 2021-12-06
  • 2022-02-10
  • 2021-05-10
  • 2022-01-09
相关资源
相似解决方案