我有一个ListView,有时我需要放入10000个项目.ListViews并不能很好地处理这个问题,并且他们在对项目进行排序并绘制它们时会锁定几秒钟。如果您单独添加项目,则更糟糕的是,锁定将近一分钟。
为了解决这个问题,我想在我需要显示它之前尝试填充ListView,但遗憾的是它还有其他想法。它只在我打开包含ListView的面板时才开始绘图,使程序挂起几秒钟。
关于如何消除这种延迟的任何想法?或者是否有另一个相对容易使用的组件,可以更好地显示大量数据?
答案 0 :(得分:7)
您需要使用VirtualMode。
答案 1 :(得分:0)
好。如果您只想在后台加载内容,可以尝试使用一个线程来填充ListView,这将使表单加载。
如果你放一个Application.DoEvents(),我认为你不会得到暂停。当您加载项目时(允许表单重绘和接收事件)。
for (int ix=0; ix < 10000; ix ++)
{
listView1.Items.Add(ix.ToString());
Application.DoEvents();
}
如果您不了解VirtualMode
,我想我的建议很好