我正在将一堆文件加载到 中ListView
,并且我使用Image.FromFile()
and.Width
和.Height
来在指定列中显示每个文件的分辨率。但是,每当我加载多个文件时,此方法就会开始跳过文件。首先,说 50 个文件都已正确加载,但之后越来越多的文件被跳过。
什么可能导致这个问题,有没有更好的替代方法可用?这种方法也大大减慢了加载过程,所以希望这个过程可以加快一点。
编辑:对不起......这是相关代码:
private void AddItem(string file)
{
FileInfo fi = new FileInfo(file);
ListViewItem item = new ListViewItem(fi.FullName);
try
{
Image img = Image.FromFile(fi.FullName);
item.SubItems.Add(string.Format("{0} x {1}", img.Width, img.Height));
}
catch { }
((ListView)sender).Items.Add(item);
}
try/catch 方法旨在防止非图像文件出错。但是,他们似乎也对跳过问题“负责”。当我禁用它们时,我得到一个“内存不足”错误,这似乎是这里的真正原因。