目前使用flowlayoutpanel和一组图片框实现用于显示图像列表的winform控件。但即使在缩略图比例(64x64),当我们开始接近1000+图像时,我们得到OutOfMemory异常 - 我们的实际问题在于缩略图生成部分和Image对象的创建。
我无法从网上现有的图像查看示例中找到任何有关大量图像的策略,那么是否有人有任何链接或策略来解决显示1000多张图像列表的问题? / p>
作为一个起点,当缩略图的图片框在视野中时,我们实际上只需要这些图像对象。那么我们只会创建10个图像对象,但除了加载和销毁图像对象之外,还有更聪明的方法吗?
谢谢, 爱德华
答案 0 :(得分:5)
您应该一次只显示一个图像屏幕。
当用户拖动滚动条时,销毁这些图像并加载新图像。
答案 1 :(得分:0)
WPF以一种很好的方式处理这个问题。如果您已打开虚拟化,则ListBox将仅创建屏幕可见的控件。
在您的情况下,请继续参考列表中的图像。放置一个pictureBox,并根据滚动条更改pictureBox上的图像。