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

dam*_*boy 1 .net listview virtualmode

我有一些网格场景,我希望在ListView中显示> 500,000,000行.

如果我人为限制我的ListView显示100,000,000:

 _listView.VirtualListSize = _data.Count;
 if (_listView.VirtualListSize > 100000000)
   _listView.VirtualListSize = 100000000;
Run Code Online (Sandbox Code Playgroud)

一切正常(自然在VirtualMode中).当我将我的代码更改为:

 _listView.VirtualListSize = _data.Count;
 if (_listView.VirtualListSize > 100000001)
   _listView.VirtualListSize = 100000001;
Run Code Online (Sandbox Code Playgroud)

ListView显示一个空网格......这是一个Microsoft Bug吗?这是从哪里来的?这是Win32 ListView限制吗?最重要的是,为什么没有记录?

Gra*_*ian 5

它无法完成.如您所见,100,000,000是绝对限制.MS从未记录过它(AFAIK),但这个限制已经有很长一段时间了解:2004年的回答.

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

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