将图像显示为列表视图

Showing images into a list view

我正在用 C# 编写代码以将指定文件夹中的未知数量的图像显示到 "listview" 我不知道如何获取该特定文件夹中的所有文件。 我知道我必须使用循环和数组,但我不知道如何使用。 这是我用来通过 "known name of file" 访问文件的代码。 这是一个 windows 表单应用程序。

private void btnZoom_Click(object sender, EventArgs e)
{
    ImageList imgs = new ImageList();
    imgs.ImageSize = new Size(100, 100);

    string[] paths = { };
    paths = Directory.GetFiles("TestFolder");

    try
    {
        foreach (string path in paths)
        {
            imgs.Images.Add(Image.FromFile(path));
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    listView1.SmallImageList = imgs;
    listView1.Items.Add("2",0); 
}

获取所有你能做的图像文件

IEnumerable<string> paths = Directory.GetFiles(@"Your Dir", "*.*").Where(x=>x.EndsWith(".png") || x.EndsWith(".jpg")); //add all the extensions you wish in

然后您可以遍历列表以将它们添加到

这是工作代码:

代码是:

   private void button1_Click(object sender, EventArgs e)
    {
        listView1.Items.Clear();
        imageList1.Images.Clear();

        string[] pics = System.IO.Directory.GetFiles( "pics//");
        listView1.View = View.SmallIcon;
        listView1.SmallImageList = imageList1;

        imageList1.ImageSize = new Size(64, 64);
        foreach (string pic in pics)
        {
            imageList1.Images.Add(Image.FromFile(pic));
        }


        for (int j = 0; j < imageList1.Images.Count; j++)
        {

            ListViewItem item = new ListViewItem();

            item.ImageIndex = j;

            listView1.Items.Add(item);


        }

    }

并且在设计师处设置为: