1

複数のファイル(画像、ドキュメント、PDFなど)をリストビューにロードしたいのですが、そのプロパティに沿って表示されます。

これは私が使用しているコードでした:

        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);
            }
        }

私を助けてください。

4

3 に答える 3

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;
    }
于 2012-03-20T20:39:22.593 に答える
0

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

item.Tag = file;

fileカスタムタイプである必要がありますDictionary<string, string>

于 2012-03-20T20:38:42.973 に答える
0

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

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

于 2012-03-20T22:36:07.967 に答える