2015-08-03 46 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;