您的位置:首页 > 编程语言 > C#

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的时候。闪烁几乎消失。效果非常好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: