我有一些> 500,000,000行的网格场景,我希望在ListView中显示。
如果我人为地将ListView限制为显示100,000,000:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000000)
_listView.VirtualListSize = 100000000;一切正常(自然地在VirtualMode中)。当我将代码更改为:
_listView.VirtualListSize = _data.Count;
if (_listView.VirtualListSize > 100000001)
_listView.VirtualListSize = 100000001;ListView将显示一个空网格...这是Microsoft Bug吗?这是从哪里来的?这是Win32 ListView的限制吗?最重要的是,为什么没有对此进行记录?
发布于 2010-03-17 20:39:21
这是不可能的。正如您已经发现的,100,000,000是绝对限制。微软从来没有记录过它(AFAIK),但它的极限已经知道很长一段时间了:an answer from 2004。
在以前的Windows版本中,尝试超过100,000,000次会使操作系统崩溃:)
在我的XP和Vista机器上,尝试超过100,000,000行将大小限制为9,999,999。
https://stackoverflow.com/questions/2454942
复制相似问题