首页 > 代码库 > [C#]实现panel控件的双缓冲刷新
[C#]实现panel控件的双缓冲刷新
默认的panel控件在重画时会出现闪烁的问题
解决问题的方法是在继承原有panel属性的基础上赋予它双缓冲的功能
在Form类中添加如下代码
1 /// <summary> 2 /// 双缓冲panel 3 /// </summary> 4 public class DoubleBufferPanel : Panel 5 { 6 public DoubleBufferPanel() 7 { 8 this.SetStyle(ControlStyles.AllPaintingInWmPaint | //不擦除背景 ,减少闪烁 9 ControlStyles.OptimizedDoubleBuffer | //双缓冲10 ControlStyles.UserPaint, //使用自定义的重绘事件,减少闪烁11 true);12 }13 }
然后找到panel控件定义和初始化的地方
将
1 private System.Windows.Forms.Panel panel1;
1 this.panel1 = new System.Windows.Forms.Panel();
改成
1 private DoubleBufferPanel panel1;
1 this.panel1 = new DoubleBufferPanel();
[C#]实现panel控件的双缓冲刷新
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。