Home

Characteristics of the Browse For Folder Dialog Box

 

The Description

By default, and as seen on the above screenshot, the Browse For Folder dialog box doesn't indicate what it is used for. This is because it is left to you to let the user know what you expect. To provide this information, the Browse For Folder dialog box is equipped with a label that can be made visible or not. It is available through the Description property. If you provide a string for this property, it would display under the title bar but above the tree view of the dialog box. If you add the FolderBrowserDialog FolderBrowserDialog control to the form, you can type a string in the Description field in the Properties window.

You can also programmatically assign a string to the FolderBrowserDialog object. Here is an example:

public partial class Form1 : Form
{
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {
            folderBrowserDialog1.Description =
                "Select the directory where your " +
		"future configurations will be installed";
            folderBrowserDialog1.ShowDialog();
        }
}

This would produce:

The Browse For Folder dialog box with an indicative label

The Root Folder

As you can see from this screenshot, when the dialog box comes up, it selects the Desktop, by default, as the parent folder. If you want, you can specify a different default folder to be selected. This information is carried by the RootFolder property. The RootFolder value must be a member of the SpecialFolder enumerator of the Environment class. For example, to select My Documents, you would type the following:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void label1_Click(object sender, EventArgs e)
    {
        folderBrowserDialog1.Description =
                "Select the directory where your " +
		"future configurations will be installed";
        folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;
        folderBrowserDialog1.ShowDialog();
    }
}

This would produce:

The Selected Path

Since there is only a limited number of folders of the SpecialFolder enumerator, you may want to specify a different folder. The advantage of the SpecialFolder option is that it is likely to be found on the user's computer. If you know for sure that a certain folder exists on the computer and you would rather select that folder, you can provide its complete path to the SelectedPath property. Here is an example:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void label1_Click(object sender, EventArgs e)
    {
        folderBrowserDialog1.Description =
                "Select the directory where your future " +
		"configurations will be installed";
        folderBrowserDialog1.SelectedPath = @"C:\Programs\Corporate";
        folderBrowserDialog1.ShowDialog();
    }
}

This would produce;

Browse For Folder

You should not specify both the RootFolder and the SelectedPath properties on the same FolderBrowserDialog control.

After the user has used the Browse For Folder dialog box, has selected a folder, and clicked OK, to find out what folder the user selected, get the value of the SelectedPath property.

The Make New Folder Button

After using the Browse For Folder dialog box, the user may select a folder and click OK. Imagine you are creating a commercial application, you can't possibly know the content of every customer's computer. This means that there is a possibility that the user would not find the desired folder. One solution you can use is to give users the ability to create a new folder. This option is available by default. If you want to prevent the user from creating a new folder, hide the Make New Folder button. To do this, assign a false value to the ShowNewFolderButton Boolean property. You can do this in the Properties window at design time or programmatically as follows:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void label1_Click(object sender, EventArgs e)
    {
        folderBrowserDialog1.Description =
                "Select the directory where your future " +
		"configurations will be installed";
        folderBrowserDialog1.SelectedPath = @"C:\Programs\Corporate";
        folderBrowserDialog1.ShowNewFolderButton = false;
        folderBrowserDialog1.ShowDialog();
    }
}

This would produce:

The Browse For Folder dialog box without the Make New Folder button

You can also check the value of the ShowNewFolderButton property to find out whether the dialog box is equipped with a Make New Folder button.

 

Previous Copyright © 2007 FunctionX, Inc. Home