Практическое руководство. Выбор папки с помощью компонента FolderBrowserDialog в Windows Forms
Обновлен: Ноябрь 2007
В создаваемых приложениях Windows пользователям часто приходится выбирать папку, обычно для сохранения набора файлов. С помощью компонента Windows Forms FolderBrowserDialog эта задача легко решается.
Выбор папок с помощью компонента FolderBrowserDialog
В процедуре проверьте свойство DialogResult компонента FolderBrowserDialog, чтобы узнать, как было закрыто диалоговое окно и получить значение свойства SelectedPath компонента FolderBrowserDialog.
Если необходимо задать папку самого верхнего уровня, которая будет отображаться в дереве этого диалогового окна, задайте свойство RootFolder, которое выбирает член перечисления SpecialFolder.
Кроме того, можно задать свойство 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; } }
Примечание о безопасности. Для использования этого класса сборка требует уровня привилегий, предоставляемого свойством FileIOPermissionAttribute.PathDiscoveryProperty, являющимся частью перечисления FileIOPermissionAccess. Если процесс выполняется в контексте с частичным доверием, он может сгенерировать исключение из-за недостатка привилегий. Дополнительные сведения см. в разделе Основы управления доступом для кода.
Сведения о сохранении файлов см. в разделе Практическое руководство. Сохранение файлов с помощью компонента SaveFileDialog.
См. также
Ссылки
Общие сведения о компоненте FolderBrowserDialog (Windows Forms)