我的表单左侧有一个TreeView,右侧有ListView。单击某个TreeView节点时,将向ListView添加3个项目(每个项目都有一个小图标)。当鼠标悬停时,第二和第三项闪烁。当鼠标指向第二个和第三个项目时,项目似乎消失了,然后当鼠标指向它们时返回。我用Google搜索了这个问题,其他人说DoubleBuffered属性应该设置为true。但是,.NET 3.5不支持所述属性。我还使用了BeginUpdate和EndUpdate方法但没有任何反应。
以下是将项目添加到listView的代码:
this.myListView.Clear();
ListViewItem item;
this.myListView.BeginUpdate();
this.myListView.SmallImageList = this.ImageListIcons;
this.myListView.View = View.SmallIcon;
foreach (...) // getting the items from List<>.. just hiding the true value
{
item = new ListViewItem(group);
item.Text = "sample";
item.ImageIndex = 0;
this.myListView.Items.Add(item);
}
this.myListView.EndUpdate();