0

我正在通过 WIA 扫描图像并将图像保存在列表中。我想要的是,我想保存从列表中获取图像并将它们显示在列表视图中。但我遇到了一个奇怪的问题。当我在我的 c# 窗口应用程序中单击扫描按钮时,我的列表仅保存最新图像,并且我的列表计数器不会增加到 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);
                }
4

1 回答 1

1

我想您发布的代码是位于您的扫描按钮点击事件后面的代码。如果是这样,请将以下行放在 click 事件之外。

ImageList imageList1 = new ImageList();

使用此行,您将在每次开始新扫描时重置 ImageList。将此行放在您的点击方法之外,一切都应该没问题。

于 2013-07-04T12:10:35.317 回答