0

好的,所以我需要找出 RetrieveVirtualItem 事件何时完成调用 ListView 上的所有项目。我尝试这样做的原因是,当用户向 ListView 添加新项目时,它需要刷新列表,然后选择项目。

使用普通的 WinForms,我实现这一点没有问题。但是,对于虚拟列表,我无法确定 RetrieveVirtualItem 何时完成。如果我需要推出我自己的 ListView 没关系,我只需要一些指导。

编辑 1

当用户单击列表视图中的项目时,它将将该项目设置为选中,您可以在代码中执行相同的操作。

item.Selected = true;

这会触发 SelectedIndexChanged 事件。在那种情况下,我从所述项目加载内容。如果我处于虚拟模式并且我对项目进行更新。我不能将项目设置为 .Selected = true 直到列表完成更新然后抛出所述事件。

编辑 2

我想我正在尝试保留我在此控件中拥有的功能,而不是重组它的整个工作方式。功能是,当用户向列表中添加新项目时,它会将项目添加到列表顶部,将其设置为选中,然后允许用户在右侧输入信息。而不是使用对话框。

编辑 3

只是为了让我的问题更清楚。在引发 RetrieveVirtualItem 事件之前将项目设置为 .Selected 不会在刷新后保持项目处于选中状态。

4

0 回答 0