Udostępnij za pośrednictwem


Porady: wybieranie folderów za pomocą składnika FolderBrowserDialog formularzy systemu Windows

Często w aplikacjach systemu Windows, które tworzysz, trzeba będzie monitować użytkowników o wybranie folderu, najczęściej w celu zapisania zestawu plików. Składnik Windows Forms FolderBrowserDialog umożliwia łatwe wykonanie tego zadania.

Aby wybrać foldery za pomocą składnika FolderBrowserDialog

  1. W procedurze sprawdź FolderBrowserDialog właściwość składnika DialogResult , aby zobaczyć, jak okno dialogowe zostało zamknięte i uzyskać wartość FolderBrowserDialog właściwości składnika SelectedPath .

  2. Jeśli musisz ustawić najbardziej górny folder, który będzie wyświetlany w widoku drzewa okna dialogowego, ustaw RootFolder właściwość , która przyjmuje element członkowski Environment.SpecialFolder wyliczenia.

  3. Ponadto można ustawić Description właściwość , która określa ciąg tekstowy wyświetlany w górnej części widoku drzewa przeglądarki folderów.

    W poniższym FolderBrowserDialog przykładzie składnik służy do wybierania folderu, podobnie jak podczas tworzenia projektu w programie Visual Studio i zostanie wyświetlony monit o wybranie folderu w celu jego zapisania. W tym przykładzie nazwa folderu jest następnie wyświetlana w kontrolce TextBox formularza. Dobrym pomysłem jest umieszczenie lokalizacji w edytowalnym obszarze, takim jak kontrolka TextBox , dzięki czemu użytkownicy mogą edytować wybór w przypadku błędu lub innych problemów. W tym przykładzie przyjęto założenie, że formularz z składnikiem FolderBrowserDialog i kontrolką 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;
          }
       }
    

    Ważne

    Aby użyć tej klasy, zestaw wymaga poziomu uprawnień przyznanego PathDiscovery przez właściwość, która jest częścią FileIOPermissionAccess wyliczenia. Jeśli korzystasz z kontekstu częściowego zaufania, proces może zgłosić wyjątek z powodu niewystarczających uprawnień. Aby uzyskać więcej informacji, zobacz Code Access Security Basics (Podstawy zabezpieczeń dostępu do kodu).

Aby uzyskać informacje na temat sposobu zapisywania plików, zobacz How to: Save Files Using the SaveFileDialog Component (Instrukcje: zapisywanie plików przy użyciu składnika SaveFileDialog).

Zobacz też