VirtualMode中的WinForms ListView是否限制为100,000,000行?

时间:2010-03-16 14:06:19

标签: .net listview virtualmode

我有一些带>的网格场景我想要显示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限制吗? 最重要的是,为什么没有记录?

1 个答案:

答案 0 :(得分:5)

无法做到。如您所见,100,000,000是绝对限制。 MS从未记录过它(AFAIK),但很长一段时间都知道这个限制:an answer from 2004

在以前版本的Windows上,尝试超过100,000,000的操作系统崩溃了操作系统:)

在我的XP和Vista计算机上,尝试超过100,000,000行会将大小限制为9,999,999。