源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#双缓冲实现方法(可防止闪屏)

  • 时间:2020-11-21 06:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#双缓冲实现方法(可防止闪屏)
本文实例讲述了C#双缓冲实现方法。分享给大家供大家参考,具体如下:
//  该调用是  Windows.Forms  窗体设计器所必需的。 
InitializeComponent(); 
//  TODO:  在  InitComponent  调用后添加任何初始化 
this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);
//开启双缓冲
this.SetStyle(ControlStyles.DoubleBuffer,true); 
this.SetStyle(ControlStyles.UserPaint,true); 
this.SetStyle(ControlStyles.ResizeRedraw,true);

1、在内存中建立一块“虚拟画布”:
Bitmap bmp = new Bitmap(600, 600);

2、获取这块内存画布的Graphics引用:
Graphics g = Graphics.FromImage(bmp);

3、在这块内存画布上绘图:
g.FillEllipse(brush, i * 10, j * 10, 10, 10);

4、将内存画布画到窗口中
this.CreateGraphics().DrawImage(bmp, 0, 0);

还有的方式 在构造函数中加如下代码 代码一:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

代码二:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); 
this.UpdateStyles();

更多关于C#相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/478.htm]C#面向对象程序设计入门教程[/url]》、《[url=http://www.1sucai.cn/Special/165.htm]C#常见控件用法教程[/url]》及《[url=http://www.1sucai.cn/Special/116.htm]C#数据结构与算法教程[/url]》 希望本文所述对大家C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部