ListView.CacheVirtualItems Evento

Definizione

Si verifica se è stato modificato il contenuto di un'area di visualizzazione per una classe ListView in modalità virtuale; la classe ListView determina che è necessario un nuovo intervallo di elementi.

C#
public event System.Windows.Forms.CacheVirtualItemsEventHandler CacheVirtualItems;
C#
public event System.Windows.Forms.CacheVirtualItemsEventHandler? CacheVirtualItems;

Tipo evento

CacheVirtualItemsEventHandler

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di questo membro. Nell'esempio, il gestore eventi verifica che un aggiornamento della cache sia effettivamente necessario e quindi ricompila la cache. Questo esempio di codice fa parte di un esempio più ampio fornito per la VirtualMode proprietà .

C#
//Manages the cache.  ListView calls this when it might need a 
//cache refresh.
void listView1_CacheVirtualItems(object sender, CacheVirtualItemsEventArgs e)
{
    //We've gotten a request to refresh the cache.
    //First check if it's really neccesary.
    if (myCache != null && e.StartIndex >= firstItem && e.EndIndex <= firstItem + myCache.Length)
    {
        //If the newly requested cache is a subset of the old cache, 
        //no need to rebuild everything, so do nothing.
        return;
    }

    //Now we need to rebuild the cache.
    firstItem = e.StartIndex;
    int length = e.EndIndex - e.StartIndex + 1; //indexes are inclusive
    myCache = new ListViewItem[length];
    
    //Fill the cache with the appropriate ListViewItems.
    int x = 0;
    for (int i = 0; i < length; i++)
    {
        x = (i + firstItem) * (i + firstItem);
        myCache[i] = new ListViewItem(x.ToString());
    }
}

Commenti

Questo evento si verifica solo quando VirtualMode è true. La gestione di questo evento consente all'oggetto ListView di aggiornare le informazioni sull'elemento contenute nella cache in modo che siano facilmente disponibili. Ciò può migliorare le prestazioni in elenchi di grandi dimensioni o elenchi i cui elementi sono costosi da calcolare.

Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.

Si applica a

Prodotto Versioni
.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
Windows Desktop 3.0, 3.1, 5, 6, 7