用双缓冲技术解决刷新屏幕时的闪屏问题
来源:互联网 发布:ce源码 编辑:程序博客网 时间:2024/05/21 16:54
参考文档:http://www.2cto.com/kf/201404/295500.html
以下为完整的示例代码:
该示例是展示一个在界面上运动的圆形
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;
namespace panelLib2Test
{
public partial class Form3 : Form
{
int val = 1;
Bitmap bmp = new Bitmap(600, 600);
Graphics g;
public Form3()
{
InitializeComponent();
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
//开启双缓冲
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true);
g = Graphics.FromImage(bmp);
}
private void Form3_Load(object sender, EventArgs e)
{
g.FillEllipse(Brushes.Green, val * 10, val * 10, 10, 10);
g.DrawEllipse(new Pen(System.Drawing.Color.Red), val, 10, 100, 100);
this.CreateGraphics().DrawImage(bmp, 0, 0);
}
private void Form3_Paint(object sender, PaintEventArgs e)
{
//g.FillEllipse(Brushes.Green, val * 10, val * 10, 10, 10);
//g.DrawEllipse(new Pen(System.Drawing.Color.Red), val, 10, 100, 100);
//this.CreateGraphics().DrawImage(bmp, 0, 0);
}
private void timer1_Tick(object sender, EventArgs e)
{
val++;
label1.Text = val.ToString();
g.Clear(Form3.DefaultBackColor);//这是清除画布中前一个图片
g.DrawEllipse(new Pen(System.Drawing.Color.Red), val, 10, 100, 100);
this.CreateGraphics().DrawImage(bmp, 0, 0);
}
}
}
- 用双缓冲技术解决刷新屏幕时的闪屏问题
- 双缓冲技术解决屏幕刷新闪烁
- 双缓冲方法解决屏幕刷新闪烁的问题
- 【MFC】利用双缓冲技术解决屏闪问题
- 解决MFC屏幕闪动问题:双缓冲的实现(转)
- 解决MFC屏幕闪动问题:双缓冲的实现
- 解决图像刷新问题的VC++双缓冲方法
- 解决图像刷新问题的VC++双缓冲方法
- 基于双缓冲技术解决视图刷新重绘闪烁问题
- 应用双缓冲技术解决画面闪烁的问题
- 解决J2ME画面闪烁的问题--双缓冲技术
- 应用双缓冲技术解决画面闪烁的问题
- C#使用双缓冲解决绘图闪屏的问题
- ios “屏幕双缓冲”技术
- 利用双缓冲解决屏幕图像闪烁问题
- 双缓冲加重载onpaint,OnEraseBkgnd解决屏幕闪烁问题
- 双缓冲加重载onpaint,OnEraseBkgnd解决屏幕闪烁问题
- 利用双缓冲解决游戏开发中的屏幕闪烁问题
- SNMP4J TableUtils 异步获取数据
- redis官网给出的几点关于节省内存的tips
- WPF 添加控件背景
- ASP.NET语言的互操作性
- 自定义属性+接口回调Demo
- 用双缓冲技术解决刷新屏幕时的闪屏问题
- Android TextView小时一行,超出内容截取以“...”代替
- Android应用-脚本批量打包方法
- ubuntu 12.04 更新源列表
- JavaScript 闭包
- 类图的关系
- c语言函数(acm)
- arm 嵌入式linux flash分区 概念
- Java初学习 - Callback的理解与Java实例