如何在ListView中使用虚拟模式?

Tho*_*eld 7 c# listview winforms

我正在使用VirtualMode填充列

List<ListViewItem> m_lstItem;


    private void Form1_Load(object sender, EventArgs e)
    {
        m_lstItem = Enumerable.Range(0, 100000).Select(X => new ListViewItem(new String[] { X.ToString(), (X + 1).ToString() })).ToList();
        listView1.VirtualListSize = m_lstItem.Count;
    }

    private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
    {
        e.Item = m_lstItem[e.ItemIndex];
    }
Run Code Online (Sandbox Code Playgroud)

但我无法访问所选项目.访问所选项目时,它会抛出一个错误 Cannot access the selected items collection when the ListView is in virtual mode.

如何从中选择项目listView时获取所选项目VirtualMode

请帮我这样做.

260*_*986 9

来自MSDN:

在虚拟模式下,禁用Items集合.尝试访问它会导致InvalidOperationException.CheckedItems集合和SelectedItems集合也是如此.如果要检索选定或选中的项目,请改用SelectedIndices和CheckedIndices集合.