繁体   English   中英

在c#中用户滚动的列表视图中动态加载项目(图像)

[英]Dynamically Load items(Images) in list view on user scroll in c#

我正在使用附加到图像列表的列表视图控件来在表单上的列表视图中显示图像的缩略图。我使用循环和以下代码ImageList1.Images.Add(Image.FromFile("c:\\\\windows\\\\img.bmp"))将文件夹中的图像添加到图像列表中ImageList1.Images.Add(Image.FromFile("c:\\\\windows\\\\img.bmp")) ;

但是如果有很多图像,则会抛出内存不足异常(即使在处理之后)。我想将图像加载到当前对用户可见的列表视图中,即:在用户滚动时动态加载图像。如果有5个图像在用户视图中我想只加载5个图像,如果用户滚动我想获得当前应该对用户可见的图像的索引并仅加载这些图像。

请帮我解决这个问题。

就个人而言,我在ImageListView方面有很好的经验,无论是技术(性能)还是作者的回复(质量和速度)。

每当我需要可视图像列表时,我就用它作为ListView的替代品。

我非常天真的方法是扩展ImageList类,添加文件位置的集合并覆盖图像getter以在第一次请求时加载文件(即,高速缓存未命中)。

否则,我希望您应该查看处理ListView事件以滚动和/或呈现列表项。 (我假设它们存在,暂时没有处理UI)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM