2011-12-26 64 views
5

我使用列表視圖控件附加到圖像列表以顯示圖像列表視圖中的圖像的縮略圖。我添加圖像從文件夾到圖像列表通過使用循環和以下代碼 ImageList1.Images.Add(Image.FromFile("c:\\windows\\img.bmp"));動態加載列表視圖中的用戶滾動在C列表視圖中(圖像)

但是,如果有很多圖像,則會引發內存不足異常(即使在處理後)。我想要將圖像加載到列表視圖中,這對用戶當前可見,即:以用戶滾動方式動態加載圖像。如果5張圖像在用戶視圖中,我只想加載5張圖像,如果用戶滾動,我想獲取應該當前對用戶可見的圖像的索引,並只加載這些圖像。

請幫我解決這個問題。

回答

2

就我個人而言,我在ImageListView方面有很好的經驗,無論是技術(性能)還是作者的回覆(質量和速度)。

無論何時我需要視覺圖像列表,我都會使用它作爲ListView的替代品。

+0

Thanks.It看起來不錯,讓我試試看。 – techno 2011-12-27 04:01:25

+1

我添加圖像列表視圖引用的工具箱,在form.But中添加了一個控件時,當我使用Imagelistview1.Items.Add(myitem)我得到一個無效的引用錯誤Manina.Windows.Forms請幫助 – techno 2011-12-27 05:21:23

0

我非常天真的做法是擴展ImageList類,添加文件位置的集合並重寫圖像獲取器以在第一次請求時加載文件(即,高速緩存未命中)。

否則,我希望你應該考慮處理滾動和/或渲染列表項的ListView事件。 (我假設他們存在,有一段時間沒有處理UI)