C#使用双缓存减少界面闪烁

场景:一个panel中动态加载多个自定义控件item,类似QQ聊天窗口

问题:加载panel时界面会卡顿,先显示阴影再显示界面;移动滚动条时item会闪烁

解决方法:

panel 添加方法,减少界面闪烁:

protected override CreateParams CreateParams
{
    get
    {
         CreateParams cp = base.CreateParams;
         cp.ExStyle |= 0x02000000;
         return cp;
    }  
}

item构造函数中添加代码,减少移动滚动条时闪烁:

//构造函数
public item()
{
    SetStyle(
          ControlStyles.AllPaintingInWmPaint |    //不闪烁
          ControlStyles.OptimizedDoubleBuffer    //支持双缓存
    ,true);
    InitializeComponent();
}

网络限制不能复制,代码手打的,可能拼写有错

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值