如何将文件夹文件加载到ListView中?

时间:2009-11-10 14:09:58

标签: c# listview file

我想让用户选择一个包含FolderBrowserDialog的文件夹,并将文件加载到ListView中。

我的目的是制作一个小的播放列表,所以我必须修改我假设的ListView控件的几个属性。我应该在控件上设置哪些属性?

我怎么能做到这一点?

3 个答案:

答案 0 :(得分:11)

当然,您只需要执行以下操作:

    FolderBrowserDialog folderPicker = new FolderBrowserDialog();
    if (folderPicker.ShowDialog() == DialogResult.OK)
    {

        ListView1.Items.Clear();

        string[] files = Directory.GetFiles(folderPicker.SelectedPath);
        foreach (string file in files)
        {

            string fileName = Path.GetFileNameWithoutExtension(file);
            ListViewItem item = new ListViewItem(fileName);
            item.Tag = file;

            ListView1.Items.Add(item);

        }

    }

然后再次取出文件,按下按钮或其他事件执行以下操作:

    if (ListView1.SelectedItems.Count > 0)
    {

        ListViewItem selected = ListView1.SelectedItems[0];
        string selectedFilePath = selected.Tag.ToString();

        PlayYourFile(selectedFilePath);

    }
    else
    {
        // Show a message
    }

为了获得最佳观看效果,请将ListView设置为详细信息模式:

ListView1.View = View.Details;

答案 1 :(得分:2)

基本功能可能如下所示:

    public void DisplayFolder ( string folderPath )
    {
        string[ ] files = System.IO.Directory.GetFiles( folderPath );

        for ( int x = 0 ; x < files.Length ; x++ )
        {
            lvFiles.Items.Add( files[x]);
        }
    }

答案 2 :(得分:0)

列出项目

private void buttonOK_Click_1(object sender,EventArgs e)

    {

        DirectoryInfo FileNm = new DirectoryInfo(Application.StartupPath);
        var filename = FileNm.GetFiles("CONFIG_*.csv");

//文件名CONFIG_123.csv,CONFIG_abc.csv等

       foreach(FileInfo f in filename)
        listViewFileNames.Items.Add(f.ToString());

    }