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.
Figure 1
Creating a FolderBrowserDialog
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 and not 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.
Figure 2
Adding a FolderBrowserDialog to a Form adds 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 FolderBrowserDialog class, set its properties and add FolderBrowserDialog class to the Form controls.
First step to create a dynamic FolderBrowserDialog is to create an instance of FolderBrowserDialog class. The following code snippet creates an 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
SelectedPath property represents the selected path in a FolderBrowserDialog control.
RootFolder property represents the root folder where the browsing starts from.
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 Folder Browser 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.