首页 > Windows开发 > 详细

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

时间:2015-06-09 19:28:02      阅读:1296      评论:0      收藏:0      [点我收藏+]

首先,自定义一个类ListViewNF,继承自 System.Windows.Forms.ListView

 1 class ListViewNF : System.Windows.Forms.ListView
 2     {
 3         public ListViewNF()
 4         {
 5             // 开启双缓冲
 6             this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
 7 
 8             // Enable the OnNotifyMessage event so we get a chance to filter out 
 9             // Windows messages before they get to the form‘s WndProc
10             this.SetStyle(ControlStyles.EnableNotifyMessage, true);
11         }
12 
13         protected override void OnNotifyMessage(Message m)
14         {
15             //Filter out the WM_ERASEBKGND message
16             if (m.Msg != 0x14)
17             {
18                 base.OnNotifyMessage(m);
19             }
20 
21         }
22 
23 
24     }

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

System.Windows.Forms.ListView listView1;

修改为

ListViewNF listView1;

https://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.setstyle(VS.80).aspx
http://www.cnblogs.com/zdkjob/archive/2012/01/17/2324618.html

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

原文:http://www.cnblogs.com/felixzh/p/4563872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!