Практическое руководство. Выбор папок с помощью компонента FolderBrowserDialog в Windows Forms

Часто в создаваемых приложениях Windows вам придется предлагать пользователям выбирать папку, чаще всего сохранять набор файлов. Компонент Windows Forms FolderBrowserDialog позволяет легко выполнить эту задачу.

Выбор папок с компонентом FolderBrowserDialog

  1. В процессе проверьте свойство FolderBrowserDialog компонента DialogResult, чтобы определить, как было закрыто диалоговое окно, и получите значение свойства FolderBrowserDialog компонента SelectedPath.

  2. Если вам нужно установить самую верхнюю папку, которая будет отображаться в древовидной структуре диалогового окна, задайте свойство RootFolder, которое принимает элемент из перечисления Environment.SpecialFolder.

  3. Кроме того, можно задать Description свойство, указывающее текстовую строку, которая отображается в верхней части представления дерева браузера папок.

    В приведенном ниже FolderBrowserDialog примере компонент используется для выбора папки, аналогичной созданию проекта в Visual Studio и запрашивается выбрать папку для сохранения. В этом примере имя папки отображается в элементе управления TextBox на форме. Рекомендуется разместить указатель местоположения в редактируемой области, например, TextBox элемент управления, чтобы пользователи могли изменить свой выбор в случае ошибки или возникновения других проблем. В этом примере предполагается форма с компонентом FolderBrowserDialog и элементом 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;
          }
       }
    

    Это важно

    Для использования этого класса сборке требуется уровень привилегий, предоставленный свойством PathDiscovery, который является частью перечисления FileIOPermissionAccess. Если вы работаете в среде с частичным доверием, процесс может вызвать исключение из-за недостатка привилегий. Дополнительные сведения см. в разделе Основы безопасности доступа к коду.

Сведения о сохранении файлов см. в разделе "Практическое руководство. Сохранение файлов с помощью компонента SaveFileDialog".

См. также