2012-03-20 13 views
1

複数のファイル(Images、Documents、Pdfsなど)をリストビューに読み込み、そのプロパティに沿って表示したいと思います。items-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

どのようなファイルですか? –

+0

画像、Word文書(Excel、Word、Pptなど)、 –

+0

プロパティの属性を意味しますか? creationdateやファイルサイズなど? – Khan

答えて

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'を使用しました。サイズを呼び出すコードは何でしょうか? –

+0

@ kazu.zushifukato、[MSDNはあなたの友人です:FileInfo](http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx)サイズ。 –

0

単純な文字列ではなく、カスタムオブジェクトを使用して、ListViewItemに関連付けるすべてのプロパティを格納することができます。

item.Tag = file;

fileDictionary<string, string>多分、カスタム型でなければなりません。

0

あなたがFileInfoクラスを使用する必要があります。追加するファイルごとに、インスタンスを作成します。これには、CreationTime、Extension、Nameなどのインタフェースのようなエクスプローラに追加したいすべてのプロパティがあります。Lengthプロパティからサイズ(バイト単位)を取得します。

ListViewの列に対応する属性ごとにListViewSubItemを追加します。