2012-03-20 70 views
1

我想加載多個文件(如圖像,文檔,Pdfs)到列表視圖和沿其屬性將被顯示。添加項目屬性 - c#winform

這是我與工作代碼:

 FileInfo FInfo; 

     DialogResult dr = this.openFD.ShowDialog(); 
     if (dr == System.Windows.Forms.DialogResult.OK) 
     { 
      // Read the files 
      foreach (String file in openFD.FileNames) 
      { 
       string fileName = Path.GetFileNameWithoutExtension(file); 
       ListViewItem item = new ListViewItem(fileName); 
       item.Tag = file; 

       listView1.Items.Add(item); 
      } 
     } 

請幫助我。

+1

什麼類型的文件? – 2012-03-20 20:28:13

+0

圖像,Word文檔(excel,word,ppt等),PDF – 2012-03-20 20:31:11

+0

您的意思是屬性的屬性?如創建日期和文件大小? – Khan 2012-03-20 20:37:20

回答

3

這是我爲Excel文件做的一種方式。你只需要修改一下。我希望這有助於。

private void loadMatchingResponsesReports() 
    { 
     listBox2.Items.Clear(); 

     string[] list = getMatchingReports(); 
     foreach (String S in list) 
     { 
      FileInfo fileResponse = new FileInfo(S); 
      string fileResponseNameOnly = fileResponse.Name; 
      listBox2.Items.Add(fileResponseNameOnly); 
      GC.Collect(); 
     } 
    } 

    public string[] getMatchingReports() 
    { 
     string[] returnR = null; 
     try 
     { 
      returnR = Directory.GetFiles(textBox3.Text + @"\", "*.xls"); 
     } 
     catch 
     { 
      MessageBox.Show("Can't get some files from directory " + textBox3.Text); 
     } 
     return returnR; 
    } 
+0

中顯示的細節一樣,我使用'.CreationTime'。應該調用大小的代碼是什麼? – 2012-03-20 20:56:01

+0

@ kazu.zushifukato,[MSDN is your friend:FileInfo](http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx)。尺寸。 – 2012-03-20 22:44:46

0

您可能希望使用自定義對象來存儲與ListViewItem關聯的所有屬性,而不是簡單的字符串。

item.Tag = file;

file應該是定製型的,一個Dictionary<string, string>可能。

0

您需要使用FileInfo類。對於要添加的每個文件,構建一個實例。它具有您想要添加到資源管理器中的所有屬性,如界面,如:CreationTime,Extension,Name等。您可以從Length屬性獲取大小(以字節爲單位)。

您將爲每個屬性添加一個ListViewSubItem,對應於ListView中的列。