C#控件闪烁的解决方法

作者:shichen2014 时间:2023-02-27 07:30:41 

本文实例讲述了C#控件闪烁的解决方法。分享给大家供大家参考。具体分析如下:

如果你在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。

希望本文所述对大家的C#程序设计有所帮助。

标签:C#,解决方法
0
投稿

猜你喜欢

  • SpringBoot解析指定Yaml配置文件的实现过程

    2023-05-22 19:09:23
  • 详解Java 连接MongoDB集群的几种方式

    2022-10-03 17:50:47
  • java如何获取本地操作系统进程列表

    2022-12-05 13:35:20
  • Android组件banner实现左右滑屏效果

    2023-11-01 17:54:59
  • Android简单的利用MediaRecorder进行录音的实例代码

    2023-04-24 03:52:57
  • SpringCloud Eureka实现服务注册与发现

    2021-10-25 11:41:58
  • 解析Silverlight调用WCF/Rest异常的解决方法

    2021-08-19 07:41:37
  • Java ThreadPoolExecutor 线程池的使用介绍

    2021-06-28 12:40:35
  • 基于SpringBoot Mock单元测试详解

    2021-09-25 02:49:41
  • SpringBoot Aop 详解和多种使用场景解析

    2022-10-02 12:03:47
  • SpringBoot分离打Jar包的两种配置方式

    2023-01-30 09:06:59
  • Android Gradle 三方依赖管理详解

    2023-02-27 21:11:53
  • Java设计模式之代理模式原理及实现代码分享

    2023-07-15 14:32:58
  • C# 禁用鼠标中间键的方法

    2022-01-24 04:17:24
  • Android实现背景颜色滑动渐变效果的全过程

    2021-08-28 09:23:51
  • Java 网络编程总结

    2023-11-10 22:19:29
  • Android端代码量非常小的分页加载库

    2022-08-25 17:24:48
  • Java实现简易Web服务器

    2023-11-17 09:10:11
  • Android Textview实现颜色渐变滚动效果

    2023-08-28 05:30:08
  • SpringBoot手动使用EhCache的方法示例

    2023-04-24 03:50:30
  • asp之家 软件编程 m.aspxhome.com