如何在虚拟模式下在所有列表视图项上显示图标(c#)

本文关键字:显示图 显示 图标 列表 模式 虚拟 视图 | 更新日期: 2023-09-27 17:50:36

我使用listview的虚拟模式来显示大数据。但是我不知道如何显示每个项目的图像。谁能帮我?

我写的

private void ListContact_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
    {
        MyContact contact = ContactData.GetMyContact(e.ItemIndex);
        if (e.Item == null) e.Item = new ListViewItem(contact.ToString());
        if (contact.Photo != null)
        {
            e.Item.ImageList.Images.Add("" + contact.Id, contact.Photo);
            e.Item.ImageKey = "" + contact.Id;
        }
        else
        {
            e.Item.ImageKey = "default";
        }
    }

但是它不能正常工作

如何在虚拟模式下在所有列表视图项上显示图标(c#)

这似乎是。net框架中的一个错误(已标记为不会修复)。你也许想看看这个。解决方案是使用ImageIndex而不是ImageKey