VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
当前位置:
> 编程开发 > C#编程 >
  • c#教程之C#手工双缓冲技术用法实例分析

  • 2018-02-12 21:20 来源:未知

本文实例讲述了C#手工双缓冲技术。分享给大家供大家参考。具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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#程序设计有所帮助。

相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号