ListView.CacheVirtualItems Olay

Tanım

Sanal modda bir ListView görüntü alanının içeriği değiştiğinde ve ListView yeni bir öğe aralığı gerektiğini belirlediğinde gerçekleşir.

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

Olay Türü

Örnekler

Aşağıdaki kod örneğinde bu üyenin kullanımı gösterilmektedir. Örnekte, olay işleyicisi önbellek yenilemesinin gerçekten gerekli olup olmadığını denetler ve önbelleği yeniden oluşturur. Bu kod örneği, özelliği için VirtualMode sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Bu olay yalnızca olduğunda VirtualModetruegerçekleşir. Bu olayı işlemek, önbellekte tutulan öğe bilgilerinin kolayca kullanılabilir olması için güncelleştirilmesini sağlar ListView . Bu, büyük listelerde veya öğelerinin hesaplanması pahalı olan listelerde performansı artırabilir.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ürün Sürümler
.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, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10