如果你在Form中绘图的话,不论是不是采用的双缓存,都会看到图片在更新的时候都会不断地闪烁,解决方法就是在这个窗体的构造函数中增加以下三行代码:
请在构造函数里面底下加上如下几行:
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
参数说明:
UserPaint
如果为 true,控件将自行绘制,而不是通过操作系统来绘制。此样式仅适用于派生自 Control 的类。
AllPaintingInWmPaint
如果为 true,控件将忽略 WM_ERASEBKGND 窗口消息以减少闪烁。仅当 UserPaint 位设置为 true 时,才应当应用该样式。
DoubleBuffer
如果为 true,则绘制在缓冲区中进行,完成后将结果输出到屏幕上。双重缓冲区可防止由控件重绘引起的闪烁。要完全启用双重缓冲,还必须将 UserPaint 和 AllPaintingInWmPaint 样式位设置为 true。
相关文章
- 关于使用easyui为前端框架,加载表格数据较多时在火狐浏览器会出现表格片段不停闪烁问题的兼容问题解决。
- Winform 窗体设计器 无法识别重复成员变量声明的问题
- Android 解决点击EditText不弹出键盘,但现实光标闪烁的问题
- 解决在VS(winform)程序中无法在调试时修改代码的问题(也就是“编辑并继续”功能无效)
- VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)
- 兄弟们,帮忙解决一下DLL嵌入窗体的问题.
- 点击文中的button后,在socket连接不通的情况下,所在的form窗体会假死。该如何解决此问题?
- 解决ios端点击按钮闪烁问题(小tips)
- 世纪超级大难题!找遍互联网无法解决!真正VB高手请进!(显示窗体的问题)
- wxPython之解决闪烁的问题