Windows Forms: How to make a File Browser in C#

How to make a File Browser in C# using ListView to contain the file name with icons

In this tutorial i'll show you how to use ListView control, as you know a ListView control is a window that displays a collection of items. ListView controls provide several ways to arrange and display items and are much more flexible than simple ListBox control. We will create a File Browser allows you to access files include icons in your harddisk

Step 1: Create a New Project, then select Visual C# on the left, then Windows and then select Windows Forms Application. Name your project "FileBrowser" and then click OK

c# file browser

Step 2: You need to add a ListView, TextBox, Label, Button to your windows forms, then design your file browser as below

file browser in c#

Step 3: Add code to your project and play demo

You should create a list to contain the file names

List<string> listFiles = new List<string>();

Add a click event handler to Open button

private void btnOpen_Click(object sender, EventArgs e)
{
    //Clear all items
    listFiles.Clear();
    listView.Items.Clear();
    //Open folder browser dialog
    using (FolderBrowserDialog fbd = new FolderBrowserDialog() { Description = "Select your path." })
    {
        if (fbd.ShowDialog() == DialogResult.OK)
        {
            //Set path to textbox
            txtPath.Text = fbd.SelectedPath;
            foreach (string item in Directory.GetFiles(fbd.SelectedPath))
            {
                //Add image to imagelist
                imageList.Images.Add(System.Drawing.Icon.ExtractAssociatedIcon(item));
                FileInfo fi = new FileInfo(item);
                listFiles.Add(fi.FullName);//Add file name to list
                //Add file name and image to listview
                listView.Items.Add(fi.Name, imageList.Images.Count - 1);
            }
        }
    }
}

Click the listview control, select event SelectedIndexChanged then add below code. This code allows you to process open

private void listView_SelectedIndexChanged(object sender, EventArgs e)
{
    if (listView.FocusedItem != null)
        Process.Start(listFiles[listView.FocusedItem.Index]); //Open process
}

VIDEO TUTORIALS

 

Related Posts