如何获取图标图像

时间:2015-08-03 11:02:57

标签: c# image listview window

我想制作相同的Window File explorer。

但我不知道如何获取文件默认图标图片。

如果我可以获取文件默认图像(Icon),我想添加到listview。

我的代码如下

private void AddFiles(string strPath)
{
       lv_local.BeginUpdate();
       lv_local.Items.Clear();
       iFiles = 0;
          try
           {
           DirectoryInfo di = new DirectoryInfo(strPath + "\\");
           FileInfo[] theFiles = di.GetFiles();
           foreach (FileInfo theFile in theFiles)
           {
            iFiles++;
            ListViewItem lvItem = new ListViewItem(theFile.Name);
            lvItem.SubItems.Add(String.Format("{0:N0}", theFile.Length) + "KB");
            lvItem.SubItems.Add(theFile.Extension);
            lvItem.SubItems.Add(theFile.LastWriteTime.ToShortDateString());
            lvItem.ImageIndex = 4;
            // I want to put an image that was read default image
            lv_local.Items.Add(lvItem);
                }
            }
            catch (Exception Exc) 
            {  
            }

            lv_local.EndUpdate();
 }

1 个答案:

答案 0 :(得分:1)

创建ImageList并添加图标

var imageList = new ImageList();

imageList.Images.Add("IconKey", icon);

将ImageList分配给ListView

listView.LargeImageList = imageList;

指定列表视图项的图标

listViewItem.ImageKey = "itemImageKey";

listViewItem.ImageIndex = 1;