OpenFileDialog.Как насчет “диалогового окна указания каталога”?

StackOverflow https://stackoverflow.com/questions/80820

  •  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:

Ugly, unfriendly folder browser dialog

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top