【C#】 解决winform窗体闪烁问题
来源:互联网 发布:石家庄房价 知乎 编辑:程序博客网 时间:2024/05/06 04:28
如果你在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。
请在构造函数里面底下加上如下几行:
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。
0 0
- 【C#】 解决winform窗体闪烁问题
- 解决winform窗体闪烁问题
- 解决winform窗体闪烁问题
- 解决winform窗体闪烁问题
- C# winForm 窗体闪烁问题
- 解决WinForm界面闪烁问题
- C# 解决窗体闪烁
- 用一个变态的方法解决winform闪烁问题
- WinForm解决UserControl自定义控件闪烁的问题
- [C#开发小技巧]解决WinForm控件TabControl闪烁问题
- 解决winform中的panel重绘闪烁问题
- 解决winform中的panel重绘闪烁问题
- 窗体闪烁的问题
- 解决WinForm(C#)中MDI子窗体最大化的问题(VB.net中也适用)
- 解决绘图中闪烁的问题(C#)
- winform窗体加背景图片后,控件闪烁
- C#解决窗体不闪烁
- 解决MDI窗体最大化状态小切换窗体时闪烁问题
- 关于Build Active Architecture Only属性
- 360早期壳的脱壳步骤
- Android应用开发之所有动画使用详解
- USB设备驱动程序-USB Gadget Driver(三)
- java web下载文件功能
- 【C#】 解决winform窗体闪烁问题
- 欢迎使用CSDN-markdown编辑器
- leancloud nodejs 加密使用方式
- 印象笔记改变背景颜色
- Redis介绍以及安装(Linux)
- linux 安装 apktool
- 结构型模式----桥接模式
- IntelliJ IDEA 2016.2 注册破解激活教程
- USB设备驱动程序-USB Gadget Driver(四)