带有图像的c#列表视图

时间:2013-03-12 16:08:50

标签: c# listview

我希望列出带有图片的项目,项目数量可以在1-60之间变化,对于我希望也显示数据的每个项目。 我相信最好的解决方法是在c#中使用ListView。 这是真的,如果是这样,我该怎么做呢? 我还想过在滚动窗口中使用交互式图像

1 个答案:

答案 0 :(得分:9)

如果要在设计器中执行此操作,可以执行以下步骤添加 图像到ListView控件:

  1. 切换到设计器,单击Component Tray上的ImageList组件,   将会在ImageList的右上角显示一个智能标记。
  2. 单击智能标记,然后单击窗格中的“选择图像”。
  3. 在弹出的“图像集编辑器”对话框中,从文件夹中选择图像   你想要的。
  4. 单击“确定”完成向ImageList添加图像。
  5. 单击表单上的ListView,右上角会出现一个智能标记  角。
  6. 点击智能标签,你会发现那里有三个ComboBox,选择一个  可以根据需要从列表中选择ImageList。
  7. 单击智能标记上的“添加项目”选项,ListViewItem集合编辑器   将出现,你可以添加项目到ListView,这里重要的是设置   ImageIndex或ImageKey属性,或图像不会出现。
  8. 单击“确定”完成项目编辑,现在您将发现图像显示在  的ListView。
  9. 如果你想通过代码将图像添加到ListView,你可以做这样的事情。

    代码段


     private void Form10_Load(object sender, EventArgs e)
        {
            DirectoryInfo dir = new DirectoryInfo(@"c:\pic");
            foreach (FileInfo file in dir.GetFiles())
            {
                try
                {
                    this.imageList1.Images.Add(Image.FromFile(file.FullName));
                }
                catch{
                    Console.WriteLine("This is not an image file");
                }
            }
            this.listView1.View = View.LargeIcon;
            this.imageList1.ImageSize = new Size(32, 32);
            this.listView1.LargeImageList = this.imageList1;
            //or
            //this.listView1.View = View.SmallIcon;
            //this.listView1.SmallImageList = this.imageList1;
    
            for (int j = 0; j < this.imageList1.Images.Count; j++)
            {
                ListViewItem item = new ListViewItem();
                item.ImageIndex = j;
                this.listView1.Items.Add(item);
            }
        }
    

    Source