我正在将一堆文件加载到ListView
,我使用Image.FromFile()
和.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方法旨在防止非图像文件出错。但是,他们似乎也对跳过问题负有“责任”。当我禁用它们时,我得到一个“内存不足”的错误,这似乎是真正的原因。