ListView.CacheVirtualItems-Ereignis
Aktualisiert: November 2007
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
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.