Condividi tramite


Procedura: Scegliere cartelle con il componente FolderBrowserDialog di Windows Form

Spesso, all'interno delle applicazioni Windows create, dovrai chiedere agli utenti di selezionare una cartella, più frequentemente per salvare un set di file. Il componente FolderBrowserDialog Windows Form consente di eseguire facilmente questa attività.

Per scegliere le cartelle con il componente FolderBrowserDialog

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

  2. Se devi impostare la cartella superiore che verrà visualizzata nell'albero del sistema di dialogo, imposta la proprietà RootFolder, che accetta un membro dell'enumerazione Environment.SpecialFolder.

  3. Inoltre, è possibile impostare la proprietà Description, che specifica la stringa di testo visualizzata nella parte superiore della visualizzazione albero del browser delle cartelle.

    Nell'esempio seguente viene usato il componente FolderBrowserDialog per selezionare una cartella, 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 nel modulo. È consigliabile posizionare la posizione in un'area modificabile, ad esempio un controllo TextBox, in modo che gli utenti possano modificare la selezione in caso di errore o altri problemi. In questo esempio si presuppone un modulo con 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;
          }
       }
    

    Importante

    Per utilizzare questa classe, il tuo assembly richiede un livello di privilegio concesso dalla proprietà PathDiscovery, che è parte dell'enumerazione FileIOPermissionAccess. Se si esegue in un contesto parzialmente attendibile, il processo potrebbe generare un'eccezione a causa di privilegi insufficienti. Per altre informazioni, vedere Nozioni di base sulla sicurezza dell'accesso al codice (Code Access Security Basics).

Per informazioni su come salvare i file, vedere Procedura: Salvare file tramite il componente SaveFileDialog.

Vedere anche