2015-08-03 49 views
1

我想制作相同的窗口文件浏览器。如何获取图标图像

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

如果我能得到文件的默认图像(图标),我想添加到列表视图。

我的代码如下

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(); 
} 
+0

'System.Drawing.Icon.ExtractAssociatedIcon(..)' –

回答

1

创建的ImageList并添加图标

var imageList = new ImageList(); 

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

分配到的ImageList的ListView

listView.LargeImageList = imageList; 

指定图标列表视图项

listViewItem.ImageKey = "itemImageKey"; 

listViewItem.ImageIndex = 1;