源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Winform 显示Gif图片的实例代码

  • 时间:2020-12-30 21:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Winform 显示Gif图片的实例代码
[u]复制代码[/u] 代码如下:
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)         {         }     } }        
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部