双缓冲DoubleBuffered解决闪烁问题
一、使用默认的双缓冲
1 在应用程序中使用双缓冲的最简便的方法是使用 .NET Framework 为窗体和控件提供的默认双缓冲。通过将 DoubleBuffered 属性设置为 true。
this.DoubleBuffered=true;2 使用 SetStyle 方法可以为 Windows 窗体和所创作的 Windows 控件启用默认双缓冲,在窗体或者控件的构造函数中添加如下代码即可:
SetStyle(ControlStyles.ResizeRedraw,true); SetStyle(ControlStyles.OptimizedDoubleBuffer,true); SetStyle(ControlStyles.AllPaintingInWmPaint,true);
二、案例——TableLayoutPanel使用双缓冲DoubleBuffered
利用反射机制修改TableLayoutPanel的Protected的DoubleBuffered属性,在窗体构造函数中加入如下代码:
tableLayoutPanel1.GetType().GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic) .SetValue(tableLayoutPanel1, true, null);

最后更新:2017-04-03 05:39:36
上一篇:
ruby:借助第三方类名如何查找第三方gem名称(zlib为例)
下一篇:
【转】POJ 3264 线段树解法
富士康加入Firefox OS阵营,下周将发布搭载Firefox OS的设备
事务使用时MSDTC不可用解决办法
pl/sql developer执行光标所在行
java中基于线程池和反射机制实现定时任务
Struts2架构图解析以及拦截器的理解
CMake中RPATH的处理
Gwibber 中国区登陆twitter,facabook,sina的修改
企业网站推广需要注意什么?
后台开发:核心技术与应用实践1.6.1 结构体、共用体、枚举的概念
解决方法:java.util.MissingResourceException Can't find bundle for base name