merh Ответов: 1

Не удается открыть каталог "mydocuments" в windows 10, C#


Привет

Я пытаюсь открыть каталог "MyDocuments", но он не работает в windows 10. Почему и как я могу решить эту проблему?

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
FolderBrowserDialog fbd = новый FolderBrowserDialog();
fbd.RootFolder = System.Environment.Специальная папка.Мои документы;
если (ФБД.Метод Showdialog() == Система.Окна.Формы.свойство DialogResult.ОК)
Ящик для сообщений.Показать(ФБД.SelectedPath);


}

Заранее спасибо
Мерх

Что я уже пробовал:

private void button1_Click(object sender, EventArgs e)
{
      FolderBrowserDialog fbd = new FolderBrowserDialog();
      fbd.RootFolder = System.Environment.SpecialFolder.MyDocuments;
       if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            MessageBox.Show(fbd.SelectedPath);
          

}

1 Ответов

Рейтинг:
9

Dave Kreskowiak

Вздох.... Это помогает читать документацию о том, что вы используете, а не просто предполагать, что вы знаете, что он делает.

Окружающая среда.SpecialFolder-это перечисление. Набор числовых значений, который относится к "хорошо известному" набору понятий. В этом случае MyDocuments имеет значение 5, а не путь к папке.

Если Вы читаете документацию по SpecialFolder[^], вы увидите, что он отдельно говорит::
Метод GetFolderPath возвращает местоположения, связанные с этим перечислением. Расположение этих папок может иметь разные значения в разных операционных системах, пользователь может изменить некоторые из них, и они локализуются.

Вы должны использовать окружающую среду.GetFolderPath (), чтобы получить фактический путь к папке:

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


OriginalGriff

"читать документацию" - это продвинутый курс, я полагаю? :смеяться:

Dave Kreskowiak

:)

Dave Kreskowiak

Ты серьезно? Если вы не можете понять этого, у вас есть серьезные пробелы в знаниях.

строка path = Environment.GetFolderPath(Environment.Специальная папка.Мои документы);
fbd.RootFolder = путь;

BillWoodruff

Я предлагаю сделать перерыв, когда вы устанете отвечать на вопросы QA, а не сваливать на операцию. Или проголосуйте за этот вопрос и не отвечайте на него. Или оставьте комментарий likw: "прочитайте документацию."

Мне неловко видеть, как кто-то столь же одаренный, ценный и щедро продуктивный на КП, как вы, "скользит" в снайперство.

с уважением, Билл