最近在做一个winform项目,其中一个panel内的全部控件都是动态添加到页面中的,并且这些动态的控件需要做添加、删除等的功能,考虑到界面的美观,在每添加或删除时都要重新加载所有动态控件,但是,有一个问题就是清空控件再添加时页面会闪屏,这个问题很影响人机交互的效果,最后通过一个大佬了解到了“双缓冲”技术,在大佬给的示例中我稍微修改了一下,现在分享给大家:
1、首先我重写了panel控件,项目(右键)–>添加新项–>自定义控件

2、添加如下代码:

public partial class Mypanel : Panel{public Mypanel(){InitializeComponent();//panel双缓冲this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);this.SetStyle(ControlStyles.UserPaint, true);}protected override void OnPaint(PaintEventArgs pe){base.OnPaint(pe);}}

3、在使用双缓冲的窗体Load事件中添加如下代码:

//窗体双缓冲
this.DoubleBuffered = true;

这样,重新加载Mypanel中控件时,就可以防止闪屏了!!!良心推荐

C#winform使用双缓冲解决刷新闪屏的问题相关推荐

  1. MFC基础知识(四)——双缓冲解决刷屏时闪烁

    本文主要介绍:在利用MFC画图或图像显示时,有时候需要调用OnDraw()函数刷新屏幕,而屏幕往往会发生闪烁,本文主要介绍利用双缓冲解决闪屏问题. 关于闪屏方面的介绍分析见博文: http://blo ...

  2. java 坦克重叠_【Java】我所知道坦克大战(单机版)之画出坦克的实心圆、让圆动起来、双缓冲解决闪烁问题...

    28640发布于 今天 02:47 本篇文章目的 画出坦克的实心圆 让坦克圆动起来 双缓冲解决闪烁问题 一.画出代表坦克的实心圆 我们需要画出一个圆,那么可以使用fillOval方法 fillOval ...

  3. Delphi 使用双缓冲解决图片切换时的闪烁问题 good

    Delphi 使用双缓冲解决图片切换时的闪烁问题 good 参考文章: (1)Delphi 使用双缓冲解决图片切换时的闪烁问题 good (2)https://www.cnblogs.com/find ...

  4. win10间歇性闪屏_今天解读win10桌面自动刷新闪屏的完全解决手法

    今天又有网友来问小编win10桌面自动刷新闪屏的问题,这个问题之前都已经解答过了.win10桌面自动刷新闪屏这样的不常见的问题,还真把一些大神给弄懵了.那么这个win10桌面自动刷新闪屏问题该如何才能 ...

  5. win10桌面不停自动刷新闪屏解决方法

    1.右键点击桌面上的此电脑,然后点击管理; 2.然后双击服务与应用程序,展开它; 3.再双击服务; 4.然后找到Problem Reports and Solutions Control Panel ...

  6. java游戏程序界面_Java解决游戏界面闪屏

    一.问题描述 我们在做有关于图形绘制方面的问题非常之多.比如,有时我们用普通的方法去绘制图形,会产生闪屏的现象,导致我们所做的游戏或者是别的项目效果非常差,这完全不是我们想要的结果.那么,有没有一种技 ...

  7. 电脑一直刷新闪屏,也许不是Win11的锅。

    前几天在用Internet Download Manager(一个可以添加到浏览器扩展插件的下载工具)下载一个文件时,出了点问题(当时没有想到截图,具体报错内容不记得了),然后过了段时间电脑突然开始刷 ...

  8. C语言编程闪屏,双缓冲解决VC++绘图时屏幕闪烁

    通常来说程序根据需要调用Invalidate(FALSE)使窗口客户区无效引起重绘,然后在窗口OnPaint函数(基于文档视图的程序则是OnDraw)中进行稳定绘图就行了.但是,我们在OnPaint中 ...

  9. MFC双缓冲解决图象闪烁[转]

    转载网上找到的一篇双缓冲的文章,很好用.http://www.cnblogs.com/piggger/archive/2009/05/02/1447917.html _________________ ...

最新文章

  1. Error in eval(predvars, data, env) : object ‘**‘ not found
  2. linux 文件删除恢复
  3. Paper Review: Bayesian Shrinkage towards Sharp Minimaxity
  4. 本地生活JAVA版本_赶集生活java版
  5. oracle中noguarantee,关于undo guarantee
  6. CSS中让一个div的高度随着另外个一个统计的div的高度变化而变化的代码
  7. PHP与Redis结合令牌桶算法进行实现限流
  8. JavaScript那些事儿(1):对比JavaScript和jQuery的Dom操作
  9. Redis的诞生历程
  10. python中swap的意思_Python为什么不需要swap(a,b)
  11. 老代码多=过度耦合=if else?阿里巴巴工程师这样捋直老代码
  12. Mysql 面试常问5 让你根据业务写出比较复杂的SQL,往往和 Group BY 与 Having 相关
  13. JS判断当前DOM树是否加载完毕
  14. 回头再说-006 时间音乐
  15. PHP composer
  16. odoo14调用akshare库报错:Fatal process out of memory: Failed to reserve memory for new V8 Isolate
  17. 技术牛人如何发财致富?
  18. 8.PPP拨号 获取ip地址
  19. 净重新分类指数NRI的计算
  20. 第四周:基于图像相似度比较的分镜头

热门文章

  1. PLC常见的输入设备及其接线方式列举
  2. Chrome 商店 Spam 插件套路分析
  3. JAVA计算机毕业设计理发店会员管理系统(附源码、数据库)
  4. 美发店管理软件有什么用
  5. 图片去水印神器-图片免费去水印app神器
  6. 短视频APP开发对影视行业有哪些影响?
  7. python2安装pyyaml_python – 使用pip /添加PyYaml作为pip依赖来安装pyyaml
  8. 测试小白必看:自动化测试入门基础知识
  9. 从零学python黑马程序员_Python实战编程--从零学Python/Python应用编程丛书
  10. 浙江省计算机二级打印准考证时间,浙江计算机二级考试准考证打印时间