1

我有一个 ListView,有时我需要放入大约 10000 个项目。ListViews 并不能很好地处理这个问题,它们在对项目进行排序并绘制它们时会锁定几秒钟。如果您单独添加项目,则更糟糕的是,锁定了近一分钟。

为了解决这个问题,我想在需要显示它之前尝试填充 ListView,但不幸的是它还有其他想法。它仅在我打开包含 ListView 的面板时才开始绘制,使程序挂起几秒钟。

关于如何消除这种延迟的任何想法?或者是否有另一个相对容易使用的组件更擅长显示大量数据?

4

2 回答 2

7

您需要使用VirtualMode

于 2008-09-25T04:20:39.903 回答
0

好。如果您只想在后台加载内容,您可以尝试一个线程来填充 ListView,这将让表单加载。

如果您放置 Application.DoEvents(); ,我认为您不会暂停 当您加载项目时(允许表单重绘和接收事件)。

for (int ix=0; ix < 10000; ix ++)
{
 listView1.Items.Add(ix.ToString());
 Application.DoEvents();
}

如果您不了解 VirtualMode,我想我的建议是好的

于 2008-09-25T04:35:38.463 回答