您的位置:首页 > 编程语言 > C#

C#中使用ListView动态添加数据不闪烁

2015-10-19 13:52 721 查看
首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView

class ListViewNF : System.Windows.Forms.ListView

    {

        public ListViewNF()

        {

            // 开启双缓冲
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint,
true);

            // Enable the OnNotifyMessage event so we get a chance to filter out

            // Windows messages before they get to the form's WndProc
            this.SetStyle(ControlStyles.EnableNotifyMessage,
true);

        }

        protected override
void OnNotifyMessage(Message m)

        {

            //Filter out the WM_ERASEBKGND message
            if (m.Msg !=
0x14)

            {

                base.OnNotifyMessage(m);

            }

        }

    }

然后,修改我们的Form代码中定义ListView的位置,将原来的

System.Windows.Forms.ListView listView1;

修改为

ListViewNF listView1;




 

 

ok,然后随便怎么insert\add这个listView1,都不会有半点的闪烁了.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: