将一组图像添加到ListView

时间:2018-02-19 22:53:47

标签: c# winforms listview

我有ListViewList<Image>(列表中有3张图片)。我试图将所有图片添加到ListView,目前这就是我所拥有的:

foreach (Image image in ListOfImages)
{
    PictureBox pictureBox = new PictureBox();
    pictureBox.BackColor = Color.Gray;
    pictureBox.Width = 200;
    pictureBox.Height = 200;
    pictureBox.Image = image;
    pictureBox.SizeMode = PictureBoxSizeMode.Zoom;

    listView1.Controls.Add(pictureBox);
}

这就是它最终的样子:

image

该图片是我列表中的第一张图片。另外两个是不可见的。是否有其他人没有出现的原因?

2 个答案:

答案 0 :(得分:1)

我认为微软提供了更好的解决方案 - ImageList。 你为什么不能使用ImageList?

我可以帮助你 首先从Toolbox创建一个Imagelist控件。 设置您的istview的图像列表。 例如listView1.LargeImageList = imageList1;

foreach (Image image in ListOfImages)
{
    imageList1.Images.Add(image);
}

将列表项添加到列表控件并提及相应的图像索引。

 listView1.Items.Add(key, text, imageindex);

希望这有帮助!

答案 1 :(得分:0)

好的,我发现我想要做的正确答案是不使用ListView,而是使用FlowLayoutPanel。上面的代码将以完全相同的方式工作,除了listView1它应该是flowLayoutPanel1(或FlowLayoutPanel的任何名称)