Exporter (0) Imprimer
Développer tout
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 de 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

Cet événement se produit uniquement lorsque VirtualMode a la valeur true. La gestion de cet événement permet au ListView de mettre à jour les informations d'élément mises en cache afin qu'elles soient immédiatement disponibles. Cela peut améliorer les performances dans les grandes listes ou dans les listes pour lesquelles le calcul des éléments est coûteux.

Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.

L'exemple de code suivant illustre l'utilisation de ce membre. Dans l'exemple, le gestionnaire d'événements vérifie qu'une actualisation du cache est réellement nécessaire, avant de régénérer le cache. Cet exemple de code est extrait d'un exemple plus développé fourni pour la propriété VirtualMode.


//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

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft