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();
}

網絡限制不能復制,代碼手打的,可能拼寫有錯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM