当前位置:  开发笔记 > 编程语言 > 正文

如何在Windows窗体上显示动画GIF(c#)

如何解决《如何在Windows窗体上显示动画GIF(c#)》经验,为你挑选了3个好方法。

我有一个表单显示进度消息,因为一个相当长的过程运行.这是对Web服务的调用,因此我无法真正显示进度条上的百分比完整数字.(我不特别喜欢进度条的Marquee属性)

我想展示一个动画GIF,让过程感受到一些活动(例如,从一台计算机飞到另一台计算机的文件,如Windows复制过程).

你怎么做到这一点?



1> FryHard..:

这不是太难.

    将图片框放到表单上.

    将.gif文件添加为图片框中的图像

    加载时显示图片框.

需要考虑的事项:

禁用图片框将阻止gif动画.

GIF动画:

如果您正在寻找GIF动画,可以在这里生成它们

另一种方式:

我发现的另一种方法非常好用的是我在代码项目中找到的异步对话框控件


令人尴尬的轻松!我最初的"谷歌搜索"没有显示出来 - 也许它太明显了.谢谢.

2> 小智..:

我有同样的问题.整个表单(包括gif)由于在后台运行的长时间操作而停止重绘.这是我如何解决这个问题.

  private void MyThreadRoutine()
  {
   this.Invoke(this.ShowProgressGifDelegate);
   //your long running process
   System.Threading.Thread.Sleep(5000);
   this.Invoke(this.HideProgressGifDelegate);
  }

  private void button1_Click(object sender, EventArgs e)
  {
   ThreadStart myThreadStart = new ThreadStart(MyThreadRoutine);
   Thread myThread = new Thread(myThreadStart);
   myThread.Start(); 
  }

我只是创建了另一个线程来负责这个操作.感谢这个初始形式继续重绘而没有问题(包括我的gif工作).ShowProgressGifDelegate和HideProgressGifDelegate是表单的委托,它将pictureBox的可见属性设置为gif为true/false.



3> PhiLho..:

请注意,在Windows中,您传统上不使用动画Gif,但使用AVI动画:只有一个Windows本机控件才能显示它们.甚至还有将GIF动画转换为AVI的工具(反之亦然).


链接到工具,s'ilvousplaît?或者对文档的任何其他引用,原因等等都会很棒.谢谢!
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有