我正在通过WIA扫描图像并将图像保存在List中。我想要的是,我想保存从列表中获取图像并在列表视图中显示它们。但我遇到了一个奇怪的问题。当我在c#window应用程序中单击“扫描”按钮时,我的列表仅保存最新图像,而我的列表计数器不会增加到2,它始终保持为1.因此,我的列表仅保存最新图像并覆盖上一图像。单击扫描按钮时,这是我的代码:
List<Image> images = WIAScanner.Scan((string)lbDevices.SelectedItem);
ImageList imageList1 = new ImageList();
foreach (Image image in images)
{
pictureBox.Image = image;
imageList1.Images.Add(image);
}
this.listView1.View = View.LargeIcon;
imageList1.ImageSize = new Size(90, 90);
listView1.LargeImageList = imageList1;
for (int j = 0; j < imageList1.Images.Count; j++)
{
ListViewItem item = new ListViewItem();
item.ImageIndex = j;
this.listView1.Items.Add(item);
}
答案 0 :(得分:1)
我认为您发布的代码是位于扫描按钮点击事件后面的代码。如果是这样,请将以下行放在click事件之外。
ImageList imageList1 = new ImageList();
使用此行,您将在每次开始新扫描时重置ImageList。把这一行放在你的点击方法之外,一切都应该没问题。