|
|
1
14
你试过把你的电话寄到 清除 在beginupdate/endupdate块中:
在ListView中添加/删除项(或各种其他控件,如ListBox)会为添加/删除的每个项触发控件的GUI更新。尤其是对于ListView,这可能非常昂贵,对于25000个项目,开销将非常大。 诚然,5分钟听上去有点过分,但这将是我要尝试的第一件事。 |
|
|
2
5
我要尝试的第一件事是用beginupdate/endupdate包装您的呼叫以清除。
您是否有任何附加到ListView的事件,并且这些事件是否在清除列表时触发? |
|
|
3
2
正如其他人所说的,开始更新……endupdate将大大提高性能,但是我建议您将代码移动到使用virtualtreeview。这是一个hybrit树/listview,在不到一秒钟的时间内,它将添加多达1百万个节点(实际上,这取决于处理器,但你知道这个想法)。 刚开始学起来有点难,但一旦你习惯了它,你就会发现它很容易相处。每当我需要一个ListView或TreeView中的许多行时,我都会亲自查看它,只需查看virtualTreeView即可。哦,忘了在上面说,这是免费的。尝试一下: http://soft-gems.net/ |
|
|
4
2
约翰,清除的时间不应长于添加25K项。
|
|
|
5
0
我不知道我是否应该删除这个问题,我相信它对其他任何人都没有任何用处,但我更愿意保留一段时间,至少对你,谁回答。 问题是我使用了一个从tlistview继承的组件,我认为这不是问题,所以我决定说tlistview,但我错了。 我把你所有的答案都投了反对票,请原谅我的无知——我是新来的。 |