Windows Controls  

FolderBrowserDialog In C#

A FolderBrowserDialog control is used to browse and select a folder on a computer. A typical FolderBrowserDialog looks like Figure 1 where you can see Windows Explorer-like features to navigate through folders and select a folder.

Folder
Figure 1

FolderBrowserDialog Control

We can create a FolderBrowserDialog control using a Forms designer at design-time or using the FolderBrowserDialog class in code at run-time (also known as dynamically). Unlike other Windows Forms controls, a FolderBrowserDialog does not have or need visual properties like others.

Design-time

To create a FolderBrowserDialog control at design-time, you simply drag and drop a FolderBrowserDialog control from Toolbox to a Form in Visual Studio. After you drag and drop a FolderBrowserDialog on a Form, the FolderBrowserDialog looks like Figure 2.

FolderBrowserDialog
Figure 2

Adding a FolderBrowserDialog to a Form adds the following two lines of code.

private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();

Run-time

Creating a FolderBrowserDialog control at run-time is merely a work of creating an instance of the FolderBrowserDialog class, setting its properties, and adding the FolderBrowserDialog class to the Form controls.

The first step to creating a dynamic FolderBrowserDialog is to create an instance of the FolderBrowserDialog class. The following code snippet creates a FolderBrowserDialog control object.

FolderBrowserDialog folderDlg = new FolderBrowserDialog();

ShowDialog method displays the FolderBrowserDialog.

DialogResult result = folderDlg.ShowDialog();

Once the ShowDialog method is called, you can browse and select a file.

FolderBrowserDialog Properties

The selected path property represents the selected path in a FolderBrowserDialog control.

RootFolder property represents the root folder from where the browsing starts.

ShowNewFolderButton property represents a value indicating whether the New Folder button appears in the folder browser dialog box.

The following code snippet shows how to use a FolderBrowserDialog control and its properties.

private void BrowseFolderButton_Click(object sender, EventArgs e)
{
    FolderBrowserDialog folderDlg = new FolderBrowserDialog();
    folderDlg.ShowNewFolderButton = true;
    // Show the FolderBrowserDialog.
    DialogResult result = folderDlg.ShowDialog();
    if (result == DialogResult.OK)
    {
        textBox1.Text = folderDlg.SelectedPath;
        Environment.SpecialFolder root = folderDlg.RootFolder;
    }
}

Summary

A FolderBrowserDialog control allows users to launch Windows FolderBrowser Dialog and let users select a folder. In this article, we discussed how to use a Windows Folder Browser Dialog and set its properties in a Windows Forms application.