CacheVirtualItems Événement
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

ListView.CacheVirtualItems, événement

 

Se produit lorsque le contenu de la zone d'affichage d'un ListView en mode virtuel a été modifié, et que ListView détermine qu'une nouvelle plage d'éléments est nécessaire.

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

public event CacheVirtualItemsEventHandler CacheVirtualItems

This event only occurs when VirtualMode is true.Handling this event allows the ListView to update the item information held in the cache so that it is readily available.This can improve performance on large lists, or lists whose items are expensive to calculate.

For more information about handling events, see Handling and Raising Events.

The following code example demonstrates the use of this member.In the example, the event handler checks to make sure a cache refresh is really necessary, and then rebuilds the cache.This code example is part of a larger example provided for the VirtualMode property.

//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());
    }

}

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher:
© 2016 Microsoft