Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中,在用户滚动的列表视图中动态加载项目(图像)#_C#_.net_Winforms_Image_Listview - Fatal编程技术网

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

C# 在c中,在用户滚动的列表视图中动态加载项目(图像)#,c#,.net,winforms,image,listview,C#,.net,Winforms,Image,Listview,我正在使用附加到图像列表的列表视图控件在表单的列表视图中显示图像的缩略图 ImageList1.Images.Add(Image.FromFile(“c:\\windows\\img.bmp”)) 但是如果有很多图像,则会引发内存不足异常(即使在处理之后)。我想将图像加载到用户当前可见的列表视图,即:在用户滚动上动态加载图像。如果用户视图中有5个图像,我只想加载5个图像,如果用户滚动,我想获取用户当前可见的图像索引,并仅加载这些图像 请帮我解决这个问题。我最简单的方法是扩展ImageList类,

我正在使用附加到图像列表的列表视图控件在表单的列表视图中显示图像的缩略图
ImageList1.Images.Add(Image.FromFile(“c:\\windows\\img.bmp”))

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


请帮我解决这个问题。

我最简单的方法是扩展
ImageList
类,添加一组文件位置,并重写图像获取程序,以便在第一次请求时加载文件(即缓存未命中)


否则,我希望您应该考虑处理用于滚动和/或呈现列表项的
ListView
事件。(我假设它们存在,有一段时间没有处理UI)

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


每当我需要可视化图像列表时,我都会使用它来替换
列表视图。

谢谢。它看起来很棒,让我试试。我在工具箱中添加了图像列表视图引用,在表单中添加了一个控件。但是当我使用Imagelistview1.Items.Add(myitem)时,我得到了一个无效的引用错误Manina.Windows.Forms请帮助