我想加载文件中的所有图像,并将它们显示在ListView中( 图像数量约为3000)。 图片输出存在一些问题。
程序在打印图像时死了一段时间。
现在,程序将加载所有图像并将其立即输出到ListView。
如果我移动“图像”滚动条,则图像会暂时显示白色,但是如果我停止滚动条,它将正确打印。
如何平滑输出图像而不变白?
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog folder = new FolderBrowserDialog();
if(folder.ShowDialog() != DialogResult.OK)
{
return;
}
List<string> files = new List<string>();
files.AddRange(Directory.GetFiles(folder.SelectedPath, "*.bmp"));
ImageList img = new ImageList();
img.ImageSize = new Size(160, 130);
for (int index=0; index <files.Count; index++)
{
Image Im = Image.FromFile(files[index]);
img.Images.Add(Im);
}
Thread thread = new Thread(new ThreadStart(delegate ()
{
this.Invoke(new Action(delegate ()
{
for(int index=0; index < files.Count; index++)
{
listView1.LargeImageList = img;
listView1.Items.Add(files[index], index);
}
}));
}));
thread.Start();
}