添加项目属性 - c#winform

时间:2012-03-20 20:23:54

标签: c# winforms fileinfo

我想将多个文件(如Images,Documents,Pdfs)加载到listview,并显示其属性。

这是我正在使用的代码:

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

请帮帮我。

3 个答案:

答案 0 :(得分: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;
    }

答案 1 :(得分:0)

您可能希望使用自定义对象来存储与ListViewItem关联的所有属性,而不是简单的字符串。

item.Tag = file;

file应该是自定义类型,可能是Dictionary<string, string>

答案 2 :(得分:0)

您需要使用FileInfo课程。对于要添加的每个文件,构造一个实例。它具有您想要添加到类似于探索器的所有属性,例如:CreationTime,Extension,Name等。您可以从Length属性获得大小(以字节为单位)。

您可以为每个属性添加ListViewSubItem,对应于ListView中的列。