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