Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ListView.CacheVirtualItems-Ereignis

Aktualisiert: November 2007

Tritt ein, wenn sich die Inhalte des Anzeigebereichs für eine ListView im virtuellen Modus geändert haben und die ListView bestimmt, dass ein neuer Bereich von Elementen erforderlich ist.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
public event CacheVirtualItemsEventHandler CacheVirtualItems
/** @event */
public void add_CacheVirtualItems (CacheVirtualItemsEventHandler value)
/** @event */
public void remove_CacheVirtualItems (CacheVirtualItemsEventHandler value)

JScript unterstützt keine Ereignisse.

Dieses Ereignis tritt nur ein, wenn VirtualMode den Wert true hat. Durch Behandeln dieses Ereignisses kann die ListView die zwischengespeicherten Elementinformationen aktualisieren, sodass diese leicht verfügbar sind. Dies kann die Leistung bei großen Listen oder bei Listen, deren Elementneuberechnung ressourcenintensiv ist, verbessern.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter Behandeln von Ereignissen.

Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht. Im Beispiel prüft der Ereignishandler, ob eine Cacheaktualisierung tatsächlich erforderlich ist, und erstellt ausgehend davon den Cache neu. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die VirtualMode-Eigenschaft.

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

}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.