English 中文(简体)
How can I load a folders files into a ListView?
原标题:

I d like to have a user select a folder with the FolderBrowserDialog and have the files loaded into the ListView.

My intention is to make a little playlist of sorts so I have to modify a couple of properties of the ListView control I m assuming. What properties should I set on the control?

How can I achive this?

最佳回答

Surely you just need to do the following:

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

        }

    }

Then to get the file out again, do the following on a button press or another event:

    if (ListView1.SelectedItems.Count > 0)
    {

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

        PlayYourFile(selectedFilePath);

    }
    else
    {
        // Show a message
    }

For best viewing, set your ListView to Details Mode:

ListView1.View = View.Details;
问题回答

A basic function could look like this:

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

List item

private void buttonOK_Click_1(object sender, EventArgs e)

    {

        DirectoryInfo FileNm = new DirectoryInfo(Application.StartupPath);
        var filename = FileNm.GetFiles("CONFIG_*.csv");
        //Filename CONFIG_123.csv,CONFIG_abc.csv,etc

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

    }




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签