C#手工双缓冲技术用法实例分析
本文实例讲述了C#手工双缓冲技术。分享给大家供大家参考。具体如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceadvanced_drawing
{
publicpartialclassForm19:Form
{
BufferedGraphicsContextbufferContext;
Bitmapgif=newBitmap(@"d:/我的文档/桌面/ico/a.GIF");
publicForm19()
{
InitializeComponent();
bufferContext=newBufferedGraphicsContext();
bufferContext.MaximumBuffer=this.ClientRectangle.Size;
}
voidgif_FrameChanged(objectsender,EventArgse)
{
Graphicsg=this.CreateGraphics();
BufferedGraphicsframe=bufferContext.Allocate(g,this.ClientRectangle);
ImageAnimator.UpdateFrames(gif);
frame.Graphics.DrawImage(gif,this.ClientRectangle);
frame.Render();
}
privatevoidForm19_FormClosing(objectsender,FormClosingEventArgse)
{
bufferContext.Dispose();
}
privatevoidForm19_Paint(objectsender,PaintEventArgse)
{
if(ImageAnimator.CanAnimate(gif))
{
ImageAnimator.Animate(gif,gif_FrameChanged);
}
}
}
}
希望本文所述对大家的C#程序设计有所帮助。
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法