C#:使用双缓冲让界面绘制图形时避免闪烁
2014-02-28 12:28
441 查看
SetStyle(
ControlStyles.OptimizedDoubleBuffer
| ControlStyles.ResizeRedraw
| ControlStyles.Selectable
| ControlStyles.AllPaintingInWmPaint
| ControlStyles.UserPaint
| ControlStyles.SupportsTransparentBackColor,
true);
将这段代码加到用户控件的构造函数中即可生效。
这段代码的主要功能是开启了双缓冲。
平时我以为开双缓冲只需要设置ControlStyles.OptimizedDoubleBuffer为true而已。
但是经过实践才发现,起关键作用的是OptimizedDoubleBuffer和AllPaintingInWmPaint两个。
当这两个都为true的时候。闪烁几乎消失。效果非常好。
ControlStyles.OptimizedDoubleBuffer
| ControlStyles.ResizeRedraw
| ControlStyles.Selectable
| ControlStyles.AllPaintingInWmPaint
| ControlStyles.UserPaint
| ControlStyles.SupportsTransparentBackColor,
true);
将这段代码加到用户控件的构造函数中即可生效。
这段代码的主要功能是开启了双缓冲。
平时我以为开双缓冲只需要设置ControlStyles.OptimizedDoubleBuffer为true而已。
但是经过实践才发现,起关键作用的是OptimizedDoubleBuffer和AllPaintingInWmPaint两个。
当这两个都为true的时候。闪烁几乎消失。效果非常好。
相关文章推荐
- C#:使用双缓冲让界面绘制图形时避免闪烁
- C#:使用双缓冲让界面绘制图形时避免闪烁
- C#:使用双缓冲让界面绘制图形时避免闪烁
- 使用双缓冲让界面绘制图形时避免闪烁 整理
- 绘制图片时使用双缓冲机制,避免闪烁
- 源码推荐:一个使用C#绘制图形引擎的Framework
- 源码推荐:一个使用C#绘制图形引擎的Framework
- 双缓冲避免MFC图形闪烁(转)
- Windows界面绘图使用缓冲区避免闪烁:MFC版本 和 GDI版本
- Java使用双缓冲消除图形闪烁现象
- C#使用双缓存减少界面闪烁
- VC使用双缓冲避免绘图闪烁的正确使用方法【转】
- WTL使用双缓冲避免重绘闪烁
- c#画笔Pen使用路径绘制图形
- 基于WTL中使用双缓冲避免闪烁的解决方法
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- 双缓冲解决高频率刷新界面闪烁问题(C#)
- C++零食:WTL中使用双缓冲避免闪烁
- 源码推荐:一个使用C#绘制图形引擎的Framework
- WTL使用双缓冲避免重绘闪烁