C#中使用ListView动态添加数据不闪烁并显示当前插入值

首先,自定义一个类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;

c#让ListView 始终显示最新插入的数据

  listView1.Items[this.listView1.Items.Count - 1].EnsureVisible();

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

你可能感兴趣的:(ListView)