c#关于图加载缓慢的问题
我有个是加载图片的程序,把treeview上文件夹里面的图片,都显示在listview上面。我发现图片一多listview显示非常缓慢, 请问有什么方法可以改进的么。。
求指点~~~
我的代码是
#region 加载图片
/// <summary>
/// 加载图片
/// </summary>
/// <param name="path">指定加载的路径名</param>
private void LoadFile(string path)
{
listView.Items.Clear();
if (Directory.Exists(path) == false) return;
DirectoryInfo dirInfo = new DirectoryInfo(path);
int width = 100;
int height = 100;
ImageList fileImage = new ImageList();
fileImage.ColorDepth = ColorDepth.Depth32Bit;
listView.LargeImageList = fileImage;
listView.LargeImageList.ImageSize = new Size(width, height);
FileInfo[] fi = dirInfo.GetFiles("*.jpg");
foreach (FileInfo file in fi)
{
ListViewItem item = new ListViewItem();
Image imgSrc = Image.FromFile(path + "\\" + Path.GetFileNameWithoutExtension(file.Name) + ".jpg");
Image img = ListZoomAuto(imgSrc, 100, 100);//图形的缩放
imgSrc.Dispose();
==================================
还有个问题在这里:
上面3句换这4句 为什么不可以呢。。。。。。。。。
var fileStream = file.Open(FileMode.Open);
Image imgSrc = Image.FromStream(fileStream);
Image img = ListZoomAuto(imgSrc, 100, 100);
fileStrem.Closed();
================================
fileImage.Images.Add(img);
item.Text = Path.GetFileNameWithoutExtension(file.FullName);
item.ImageIndex = fileImage.Images.Count - 1;
item.Tag = file.FullName;
listView.Items.Add(item);
}
}
#endregion
希望高手能指点1,2