Прочитать на английском

Поделиться через


ListView.RetrieveVirtualItem Событие

Определение

Происходит в том случае, если элемент управления ListView находится в виртуальном режиме и для него требуется ListViewItem.

public event System.Windows.Forms.RetrieveVirtualItemEventHandler RetrieveVirtualItem;
public event System.Windows.Forms.RetrieveVirtualItemEventHandler? RetrieveVirtualItem;

Тип события

Исключения

Свойство Item не установлено равным элементу при обработке события RetrieveVirtualItem.

Примеры

В следующем примере кода демонстрируется обработчик для этого события. В этом примере listView1 должен ListViewItem отображать квадрат своего индекса. Этот пример кода является частью более крупного примера, предоставленного VirtualMode для свойства .

//The basic VirtualMode function.  Dynamically returns a ListViewItem
//with the required properties; in this case, the square of the index.
void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
    //Caching is not required but improves performance on large sets.
    //To leave out caching, don't connect the CacheVirtualItems event 
    //and make sure myCache is null.

    //check to see if the requested item is currently in the cache
    if (myCache != null && e.ItemIndex >= firstItem && e.ItemIndex < firstItem + myCache.Length)
    {
        //A cache hit, so get the ListViewItem from the cache instead of making a new one.
        e.Item = myCache[e.ItemIndex - firstItem];
    }
    else
    {
        //A cache miss, so create a new ListViewItem and pass it back.
        int x = e.ItemIndex * e.ItemIndex;
        e.Item = new ListViewItem(x.ToString());
    }
}

Комментарии

Когда объект находится в виртуальном ListView режиме, он создает ListViewItem объекты динамически вместо использования Items коллекции. Это событие возникает, когда объект должен создать ListViewItem объект . Обработчик для этого события должен создать соответствующий ListViewItem объект или извлечь его из кэша и передать обратно через Item свойство .

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

Продукт Версии
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10