看见论坛中有人问ListView的虚拟模式是否能使用图标,当时我不知道何为虚拟模式,顿时兴趣大增,查阅各种资料后,现把成果分享一下。
ListView中属性VirtualMode,当把它设置为true时,控件不再使用Collection.Add()这种方式来添加数据,取而代之的是使用RetrieveVirtualItem和CacheVirtualItems两个事件,单独使用RetrieveVirtualItem也可以,CacheVirtualItems这个事件主要是为了方便编程人员操作缓冲集合,其参数CacheVirtualItemsEventArgs有StartIndex和EndIndex两个属性
据说DataGridView这个控件也有虚拟模式,这个我没有做测试。
虚拟模式是专门为使用海量数据编程而设计的,几千条数据感觉不明显。
优势:在虚拟模式下,数据插入的效率成倍增长。