winform重新加载treeview时,出现闪烁

借鉴网上代码

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

闪烁消失,但打开软件第一瞬间有黑框出现,正在考虑解决

自定义 ListView 

///


    ///  启用双缓存,避免ListView控件加载数据时闪烁
    ///

    public class MyListView : ListView
    {
        public MyListView()
        {
            // 开启双缓冲
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.EnableNotifyMessage, true);
        }


        protected override void OnNotifyMessage(Message m)
        {
            if (m.Msg != 0x14)
            {
                base.OnNotifyMessage(m);
            }
        }
    }

你可能感兴趣的:(c#)