好的,所以我需要找出何时完成RetrieveVirtualItem事件调用ListView上的所有项目。我尝试这样做的原因是因为当用户向ListView添加新项目时,需要刷新列表然后选择项目。
使用正常的WinForms,我没有遇到实现此问题的问题。但是,对于虚拟列表,我无法确定何时完成RetrieveVirtualItem。如果我需要滚动自己的ListView,那我只需要一些方向。
编辑1
当用户点击列表视图中的项目时,它会将该项目设置为选中,您可以在代码中执行相同操作。
item.Selected = true;
这会触发SelectedIndexChanged事件。在那种情况下,我从所述项目加载内容。如果我处于虚拟模式并且我对项目进行了更新。我无法将项目设置为.Selected = true,直到列表完成更新然后抛出所述事件。
编辑2
我想我正在尝试保留我在此控件中的功能,而不是重新调整它的工作方式。功能是,当用户向列表添加新项目时,它将项目添加到列表顶部,将其设置为选中,然后允许用户向右输入信息。而不是使用对话框。
编辑3
这样我的问题就更清楚了。在抛出RetrieveVirtualItem事件之前将项目设置为.Selected不会在刷新后保留项目。