程序开发 > C# > Winform > 正文

C# listview显示图片(jpg、gif、png)

亮术网 2020-08-10 本网原创

在 Winform 中,显示很多东西的时候,如果要考虑效率,通常都会选择 listview 控件,因为其它功能强大的控件因要加载的东西太多,效率没那么高。listview 不但可以显示表格、项目列表,还可以显示图片,可谓用途相当广泛。

单用 listview 还完不成图片显示,还要借住另一个控件 imagelist,设置过 listview 高度和宽度的程序员,对它不会陌生。先把图片加载到 imagelist 中,然后再在 imagelist 的项目中设置图片索引,这样就可以显示出来了。以下是一个显示图片的具体实例,显示图片类型包括 jpg、gif、png 和 bmp 等常用图片格式。

 

C# listview显示图片代码:

需要拖一个 listview 控件和一个 imagelist 控件到窗体中,然后再把以下代码复制到后台,在载入事件中调用。

/// <summary>
  /// C# imagelist listview显示图片
  /// </summary>
  /// <param name="filePath">图片所在路径</param>

  private void ShowImages(string filePath)
  {
    lvImg.View = View.LargeIcon;
    lvImg.LargeImageList = imgList;

  DirectoryInfo di = newDirectoryInfo(filePath);
    FileInfo[] afi = di.GetFiles("*.*");

  string temp;
    int j = 0;
    for (int i = 0; i < afi.Length; i++)
    {
      temp = afi[i].Name.ToLower();
      if (temp.EndsWith(".jpg"))
      {
        AddImg(ref afi[i], ref j, ".jpg");
      }
      else if (temp.EndsWith(".jpeg"))
      {
        AddImg(ref afi[i], ref j, ".jpeg");
      }
      else if (temp.EndsWith(".gif"))
      {
        AddImg(ref afi[i], ref j, ".gif");
      }
      else if (temp.EndsWith(".png"))
      {
        AddImg(ref afi[i], ref j, ".png");
      }
      else if (temp.EndsWith(".bmp"))
      {
        AddImg(ref afi[i], ref j, ".bmp");
      }
      else if (temp.EndsWith(".tiff"))
      {
        AddImg(ref afi[i], ref j, ".tiff");
      }
    }
  }

private void AddImg(ref FileInfo fi, ref int j, string ex)
  {
    imgList.Images.Add(Image.FromFile(fi.FullName));
    lvImg.Items.Add(fi.Name.Replace(ex, ""), j);
    j++;
  }

调用: ShowImages(@"G:\")