WinForm的ListView在加载大量数据时会出现闪烁的问题,同时数据加载很慢。如果你的列表中有超过千条的数据且不做特殊处理还是用普通的ListView.Items.Add(),估计你的用户得抱怨了。
下面说下解决方法:
1、使用listView1.Items.AddRange()代替Add
这种方法需要先将数据放入一个缓存数组中,然后调用AddRange一次性加入ListView中,同时可以用一个计数器记录一次性加入缓存的数量,如下:
listView1.Items.Clear(); if (vList.Count > 0) { int indexI = 0; List<ListViewItem> listBuffer = new List<ListViewItem>(); foreach (var item in vList) { ListViewItem li = new ListViewItem(); li.ImageIndex = 0; li.SubItems[0].Text = item.Name; li.Tag = item; li.ForeColor = item.Status == 0 ? Color.Green : Color.Red;