OpenFileDialog.Как насчет “диалогового окна указания каталога”?
-
09-06-2019 - |
Вопрос
В поле путь к файлу я хочу указать путь к каталогу следующим образом:
textbox1.Text = directory path
Кто-нибудь?
Решение 2
Ну, я использую VS 2008 SP1.Это все, что мне нужно:
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog profilePath = new FolderBrowserDialog();
if (profilePath.ShowDialog() == DialogResult.OK)
{
profilePathTextBox.Text = profilePath.SelectedPath;
}
else
{
profilePathTextBox.Text = "Please Specify The Profile Path";
}
}
Другие советы
Существует класс FolderBrowserDialog, который вы можете использовать, если хотите, чтобы пользователь выбрал папку.
http://msdn.microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog.aspx
DialogResult result = folderBrowserDialog1.ShowDialog();
if (result.Equals(get_DialogResult().OK)) {
textbox1.Text = folderBrowserDialog1.get_SelectedPath();
}
Если все, что вы хотите, это получить директорию по полному пути, вы можете сделать это:
textbox1.Text = Path.GetDirectoryName(@"c:\windows\temp\myfile.txt");
Это установит для свойства Text значение "c:\windows emp\".
Если вам не нужен ужасный, не удобный для пользователя диалог *, попробуйте Оокии.Диалоги или посмотрите другие ответы на Как настроить OpenFileDialog для выбора папок?.Единственный недостаток, который я вижу в Ookii, заключается в том, что для него требуется полный .NET 4, а не только профиль клиента.Но исходный код включен в загрузку, так что я собираюсь поработать над этим.Жаль, что лицензия не LGPL или что-то подобное...
Смотрите также: Окно сообщения WinForms с текстовыми кнопками
* Вот как выглядит FolderBrowserDialog: