Winform 动图winform窗体显示动图
Posted kikyoqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform 动图winform窗体显示动图相关的知识,希望对你有一定的参考价值。
源地址忘记了
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) { } } }
以上是关于Winform 动图winform窗体显示动图的主要内容,如果未能解决你的问题,请参考以下文章
怎样使用MessageBox的形式显示winform一个窗体
winform中如何设置提示框在winform窗体中居中显示?