C#手工雙緩沖技巧用法實例剖析。本站提示廣大學習愛好者:(C#手工雙緩沖技巧用法實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#手工雙緩沖技巧用法實例剖析正文
本文實例講述了C#手工雙緩沖技巧。分享給年夜家供年夜家參考。詳細以下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace advanced_drawing
{
public partial class Form19 : Form
{
BufferedGraphicsContext bufferContext;
Bitmap gif = new Bitmap(@"d:/我的文檔/桌面/ico/a.GIF");
public Form19()
{
InitializeComponent();
bufferContext = new BufferedGraphicsContext();
bufferContext.MaximumBuffer = this.ClientRectangle.Size;
}
void gif_FrameChanged(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
BufferedGraphics frame = bufferContext.Allocate(g, this.ClientRectangle);
ImageAnimator.UpdateFrames(gif);
frame.Graphics.DrawImage(gif, this.ClientRectangle);
frame.Render();
}
private void Form19_FormClosing(object sender, FormClosingEventArgs e)
{
bufferContext.Dispose();
}
private void Form19_Paint(object sender, PaintEventArgs e)
{
if (ImageAnimator.CanAnimate(gif))
{
ImageAnimator.Animate(gif, gif_FrameChanged);
}
}
}
}
願望本文所述對年夜家的C#法式設計有所贊助。