如何获取目标文件夹

时间:2018-06-01 13:29:56

标签: c# wpf dialog folderbrowserdialog

我只是在Open directory dialog,他们说"得到这个包,然后执行此操作以获得一个文件夹选择窗口以显示"。好吧,使用Windows API Code Pack-Shell软件包,一切都很好。但是,现在我想获取所选的实际文件夹。我没有注意到他们在任何地方提到这一点。

我尝试string folderLocation = Convert.ToString(dialog);(对话框是打开文件夹窗口的变量),但这只给了我变量的属性。我也试过这个:CommonFileDialogResult result = dialog.ShowDialog(); string folderLocation = Convert.ToString(result);

但那只是给了我"好的" - 我认为它是它的结果,而不是实际的文件夹。

2 个答案:

答案 0 :(得分:0)

ShowDialog的结果只表示用户点击确定,取消或关闭窗口。 CommonOpenFileDialog可用于文件和文件夹,因此在用作文件夹选择器时有点令人惊讶,但路径存储在FileName中。

var dlg = new CommonOpenFileDialog();
dlg.IsFolderPicker = true;
if(dlg.ShowDialog() == CommonFileDialogResult.Ok) {
    Console.WriteLine(dlg.FileName);
}

答案 1 :(得分:0)

如果我理解正确,您想获取所选文件的文件夹?如果是这种情况,您可以为该文件获取FileInfo,并从中提取folfer。像这样:

System.IO.FileInfo fInfo = new System.IO.FileInfo(oFD1.FileName);
MessageBox.Show(fInfo.DirectoryName);

PS。 oFD1是OpenFileDialog