none
Как в OpenFileDialog сохранить путь к папке? RRS feed

  • Вопрос

  • Как в OpenFileDialog сохранить путь к папке?

    Тоесть мы не выбираем файл, а просто переходим в папку и потом закрываем окно.

    10 сентября 2012 г. 17:17

Ответы

  • Могу ошибаться, но такой функционал в стандартном OpenFileDialog не предусмотрен. Прочитайте название класса? Для чего он? А вы его пытаетесь сделать ту работу, для которой он не предназначен. Как я уже сказал в соседней ветке, вам проще свой компонент написать для выбора, чем пытаться получить нестандартное поведение от стандартного диалога.

    • Помечено в качестве ответа Ziya Ceferov 11 сентября 2012 г. 12:19
    11 сентября 2012 г. 12:03
    Отвечающий

Все ответы

  • Добрый день.

    Для выбора папки используется другой клас - FolderBrowserDialog.

    • Предложено в качестве ответа YatajgaEditor 10 сентября 2012 г. 19:39
    10 сентября 2012 г. 19:15
    Отвечающий
  • Для выбора папки используется другой клас - FolderBrowserDialog.

    Не подходит, с помощью этого класса невозможно выбрать файл.
    11 сентября 2012 г. 10:45
  • Так и говорите, что вам нужно получить путь к папке в которой пользователь выбрал файл. В этом случае, можно поступить, как нибудь так:

    OpenFileDialog ofd = new OpenFileDialog();
    if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        FileInfo fi = new FileInfo(ofd.FileName);
        MessageBox.Show(fi.DirectoryName);
    }
    11 сентября 2012 г. 11:19
    Отвечающий
  • Так и говорите, что вам нужно получить путь к папке в которой пользователь выбрал файл.

    Пользователь не выбирает файл, а просто переходит в папку и потом закрывает окно.

    Данный вами код насколько я понял не сработает.

    В моей программе пользователь выбирает файлы, но иногда он не будет выбирать, а просто перейдёт в другую папку, и потом закроет окно, чтобы сохранить директорию.
    • Изменено Ziya Ceferov 11 сентября 2012 г. 11:48
    11 сентября 2012 г. 11:46
  • Могу ошибаться, но такой функционал в стандартном OpenFileDialog не предусмотрен. Прочитайте название класса? Для чего он? А вы его пытаетесь сделать ту работу, для которой он не предназначен. Как я уже сказал в соседней ветке, вам проще свой компонент написать для выбора, чем пытаться получить нестандартное поведение от стандартного диалога.

    • Помечено в качестве ответа Ziya Ceferov 11 сентября 2012 г. 12:19
    11 сентября 2012 г. 12:03
    Отвечающий
  • Да и с точки зрения пользователя  желательно разделять папку и файл на разные диалоги.

    Для связи [mail]

    12 сентября 2012 г. 6:54
  • using System.IO;

    ............................

    Path.GetDirectoryName(openFileDialog1.FileName) 

    25 октября 2016 г. 20:40
  • Без выбора файла не знаю как реализовать. Возможно, необходимо после активизации диалогового окна отслеживать директорию в свойствах OpenFileDialog. А так существует свойство объекта RestoreDirectory, которое можно установить на значение true, и тогда после выбора файла при повторном открытии будет та же папка (если, конечно, в коде не назначать InitialDirectory).
    6 апреля 2022 г. 15:45