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.
Friend WithEvents FolderBrowserDialog1 As System.Windows.Forms.FolderBrowserDialog
Me.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.
Dim folderDlg As New FolderBrowserDialog
ShowDialog method displays the FolderBrowserDialog.
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 Sub BrowseButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BrowseButton.Click
Dim folderDlg As New FolderBrowserDialog
folderDlg.ShowNewFolderButton = True
If (folderDlg.ShowDialog() = DialogResult.OK) Then
TextBox1.Text = folderDlg.SelectedPath
Dim root As Environment.SpecialFolder = folderDlg.RootFolder
End If
End Sub
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.