標籤:
首先,自訂一個類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 WndProc10 this.SetStyle(ControlStyles.EnableNotifyMessage, true);11 }12 13 protected override void OnNotifyMessage(Message m)14 {15 //Filter out the WM_ERASEBKGND message16 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動態添加資料不閃爍