Procedimiento para elegir carpetas con el componente FolderBrowserDialog de formularios Windows Forms

A menudo, en las aplicaciones para Windows que cree, tendrá que pedir a los usuarios que seleccionen una carpeta y, con más frecuencia, que guarden un conjunto de archivos. El componente FolderBrowserDialog de Windows Forms le permite realizar fácilmente esta tarea.

Elegir carpetas con el componente FolderBrowserDialog

  1. En un procedimiento, compruebe la propiedad DialogResult del componente FolderBrowserDialog para ver cómo se ha cerrado el cuadro de diálogo y obtener el valor de la propiedad SelectedPath del componente FolderBrowserDialog.

  2. Si debe establecer la carpeta de nivel superior que aparecerá en la vista de árbol del cuadro de diálogo, establezca la propiedad RootFolder, que toma un miembro de la enumeración Environment.SpecialFolder.

  3. Además, puede establecer la propiedad Description, que especifica la cadena de texto que aparece en la parte superior de la vista de árbol del explorador de carpetas.

    En el ejemplo siguiente, el componente FolderBrowserDialog se usa para seleccionar una carpeta, de manera similar a cómo se crea un proyecto en Visual Studio y se le solicita que seleccione una carpeta donde guardarla. En este ejemplo, el nombre de carpeta se muestra en un control TextBox del formulario. Es conveniente colocar la ubicación en un área editable, como un control TextBox, de modo que los usuarios puedan editar su selección en caso de error u otros problemas. En este ejemplo, se da por supuesto que existe un formulario con un componente FolderBrowserDialog y un control TextBox.

    Public Sub ChooseFolder()
        If FolderBrowserDialog1.ShowDialog() = DialogResult.OK Then
            TextBox1.Text = FolderBrowserDialog1.SelectedPath
        End If
    End Sub
    
    public void ChooseFolder()
    {
        if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
        {
            textBox1.Text = folderBrowserDialog1.SelectedPath;
        }
    }
    
    public:
       void ChooseFolder()
       {
          if (folderBrowserDialog1->ShowDialog() == DialogResult::OK)
          {
             textBox1->Text = folderBrowserDialog1->SelectedPath;
          }
       }
    

    Importante

    Para usar esta clase, el conjunto requiere que la propiedad PathDiscovery, que forma parte de la enumeración FileIOPermissionAccess, conceda un nivel de privilegio. Si está en un contexto de confianza parcial, es posible que el proceso produzca una excepción por falta de privilegios. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.

Para obtener información sobre cómo guardar archivos, consulte Cómo: Guardar archivos mediante el componente SaveFileDialog.

Consulte también