Procedura: scegliere cartelle con il componente FolderBrowserDialog di Windows Form

Aggiornamento: novembre 2007

Spesso nelle applicazioni Windows create è necessario chiedere agli utenti di selezionare una cartella, nella maggior parte dei casi per salvare un insieme di file. Il componente FolderBrowserDialog di Windows Form consente di eseguire questa attività in modo semplice e rapido.

Per scegliere cartelle con il componente FolderBrowserDialog

  1. In una procedura controllare la proprietà DialogResult del componente FolderBrowserDialog per sapere se la finestra di dialogo è stata chiusa e ottenere il valore della proprietà SelectedPath del componente FolderBrowserDialog.

  2. Per definire la cartella attiva all'interno della visualizzazione della struttura ad albero della finestra di dialogo, impostare la proprietà RootFolder, che accetta un membro dell'enumerazione SpecialFolder.

  3. È inoltre possibile impostare la proprietà Description, che consente di specificare la stringa di testo visualizzata nella parte superiore della visualizzazione della struttura ad albero del visualizzatore cartelle.

    Nell'esempio che segue per selezionare una cartella viene utilizzato il componente FolderBrowserDialog in modo simile a quando si crea un progetto in Visual Studio e viene richiesto di selezionare una cartella in cui salvarlo. In questo esempio il nome della cartella viene quindi visualizzato in un controllo TextBox del form. È consigliabile specificare la posizione in un'area modificabile, quale un controllo TextBox, in modo che gli utenti possano modificare la selezione in caso di errori o di altri problemi. Nell'esempio si presuppone l'esistenza di un form contenente un componente FolderBrowserDialog e un controllo 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;
          }
       }
    
    Nota sulla sicurezza:

    Per utilizzare questa classe, è necessario che l'assembly disponga di un livello di privilegio concesso dalla proprietà FileIOPermissionAttribute.PathDiscoveryProperty, che fa parte dell'enumerazione FileIOPermissionAccess. Se l'esecuzione avviene in un contesto parzialmente attendibile, è possibile che il processo generi un'eccezione dovuta a privilegi insufficienti. Per ulteriori informazioni vedere Nozioni fondamentali sulla protezione dall’accesso di codice.

Per ulteriori informazioni sul salvataggio dei file, vedere Procedura: salvare file con il componente SaveFileDialog.

Vedere anche

Riferimenti

Cenni preliminari sul componente FolderBrowserDialog (Windows Form)

FolderBrowserDialog

Altre risorse

Componente FolderBrowserDialog (Windows Form)