本文章是引用博客园——brave作者的,非常好用!!!保存下来,以备不时之需!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace DysncPicTest
{
    public partial class Form1 : Form
    {
        private Image m_imgImage = null;
        private EventHandler m_evthdlAnimator = null;
        public Form1()
        {
            InitializeComponent();
            this.SetStyle(ControlStyles.UserPaint, true);
            this.SetStyle(ControlStyles.DoubleBuffer, true);
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);

m_evthdlAnimator = new EventHandler(OnImageAnimate);
            Debug.Assert(m_evthdlAnimator != null);
        }

protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            if (m_imgImage != null)
            {
                UpdateImage();
                e.Graphics.DrawImage(m_imgImage, new Rectangle(100, 100, m_imgImage.Width, m_imgImage.Height));
            }
        }

protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            m_imgImage = Image.FromFile("1.gif"); // 加载测试用的Gif图片
            BeginAnimate();
        }

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
             if (m_imgImage != null)
            {
                StopAnimate();
                m_imgImage = null;
            }
        }

private void BeginAnimate()
        {
           if (m_imgImage == null)
                return;
        
           if (ImageAnimator.CanAnimate(m_imgImage))
           {
                ImageAnimator.Animate(m_imgImage,m_evthdlAnimator);
           }
        }
 
        private void StopAnimate()
        {
            if (m_imgImage == null)
                return;
 
            if (ImageAnimator.CanAnimate(m_imgImage))
            {
                ImageAnimator.StopAnimate(m_imgImage,m_evthdlAnimator);
            }
        }
 
        private void UpdateImage()
        {
            if (m_imgImage == null)
                return;
 
            if (ImageAnimator.CanAnimate(m_imgImage))
            {
                ImageAnimator.UpdateFrames(m_imgImage);
            }
        }

private void OnImageAnimate(Object sender,EventArgs e)
        {
            this.Invalidate();
        }

private void Form1_Load(object sender, EventArgs e)
        {

}
    }
}

转载于:https://www.cnblogs.com/hbliu_ren/archive/2008/09/24/1297836.html

Winform 显示Gif图片相关推荐

  1. WinForm 显示图片PictureBox控件

    在 Windows 窗体应用程序中显示图片时要使用图片控件 ( PictureBox ),图片的设置方式与背景图片的设置方式相似. 图片控件中常用的属性如下表所示: 图片导入实现代码如下: 图片控件的 ...

  2. C# winform PictureBox插入图片并设置自适应显示

    1.把提前下载好的图片放置于:项目\bin\Debug\Resources目录下面: 注意:Resources文件夹必须放在bin\Debug文件夹下,否则提示找不到图片! 2.Form.cs中把pi ...

  3. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  4. 在WPF里面显示DIB图片格式的图片

    前几天写程序需要将DIB(设备无关位图)格式的图片在WPF 程序中显示出来,在网上查了一些资料和代码,记录下来以便以后参考. 设备有关位图主要是显卡在显存中保存的图片格式,显卡就是从显存里面将要显示的 ...

  5. WPF中显示GIF图片

    WPF中显示GIF图片: WPF很强大,但是他的Image控件却不支持GIF图片,只能显示第一帧.那么如何来显示GIF图片呢?以下有四种方法: 一. 第一种方法:使用MediaElement(实例中页 ...

  6. JEECMS的新浪图集在IE9、10不能显示大图片BUG的解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 最近我给学校对外交流合作处做的网站,因为是学java开发,所以就基于JEECMS去做. 等到项目做好,差不多要 交工的时候,发 ...

  7. img 服务器上的图片不显示图片,img显示服务器图片不显示

    img显示服务器图片不显示 内容精选 换一换 您可根据需求自定义下发消息内容,例如新增场景:终端用户发送"应用魔方"时,聊天机器人自动回复该产品介绍给用户.在"ChatB ...

  8. 显示乱七八糟图片问题之解决

    今天早上在群里有网友求助说电脑程序中多出了很多乱七八糟的图片,不知道怎么回事.(具体请参阅"求助:显示乱七八糟图片解决方法征集"[url]http://starger.blog.5 ...

  9. framebuffer显示JPEG图片

    framebuffer显示JPEG图片 2011-05-03 20:14:45 分类: 嵌入式 转自http://www.linuxsense.org/archives/281.html http:/ ...

最新文章

  1. C# 多网卡 Server Listen
  2. 315道Python面试题,欢迎挑战
  3. java es 5.0.1_es.5.1.1启动失败
  4. Python也有做大型游戏的潜力?原来我们小看了Python,无所不能!!
  5. Kaggle入门 (Titanic TensorFlow Softmax)
  6. C#利用DataGridView实现数据的快速输入
  7. J.U.C并发框架源码阅读(十七)ReentrantReadWriteLock
  8. ARP防火墙 (防如网络执法官、网络剪刀手、局域网终结者限制本机网速)
  9. 汉字计算机内码是国标码吗,汉字机内码与国标码的差别
  10. CQF笔记M1L4随机分析和伊藤引理
  11. Docker中级篇,看这篇就对了
  12. 【Python】10行代码获取海贼王最新目录
  13. 亲戚关系关系算法java程序_C++并查集亲戚(Relations)算法实例
  14. outlook 签名_快速提示:轻松在Outlook 2007中的签名之间切换
  15. iOS图像渲染 + 动画探索
  16. python 读取和保存图片方法
  17. Ubuntu下gcc的静态库与动态库的生成与使用
  18. 免费discuz 白色简洁论坛类源码下载
  19. php 截取逗号前字符串,php如何截取逗号之前的字符
  20. 用js代码判断质数_Js关于质数的判定

热门文章

  1. laravel并行访问MySQL_laravel实现多数据库连接配置
  2. java executor 异步_Java并发编程11-异步执行框架Executor
  3. 《计算机应用基础》第05章在线测试,计算机应用基础.第五章测试及答案.doc
  4. android 桥梁模式,【设计模式】桥接模式
  5. Java中获取当前类名和方法名
  6. eclipse插件开发(三) 简易4页签编辑器(源码 | 设计 | JS | CSS)配色修复JS多行注释问题
  7. oracle9i怎样管理数据,Oracle9i数据库管理员使用大全
  8. 谈谈你了解的python_你也可以侃侃而谈,一文带你了解Python的前世今生
  9. u盘解密软件_【精彩文章】基于STM32的指纹识别U盘设计
  10. mysql表结构定义_Mysql表结构定义及相关语法