我只是在Open directory dialog,他们说"得到这个包,然后执行此操作以获得一个文件夹选择窗口以显示"。好吧,使用Windows API Code Pack-Shell软件包,一切都很好。但是,现在我想获取所选的实际文件夹。我没有注意到他们在任何地方提到这一点。
我尝试string folderLocation = Convert.ToString(dialog);
(对话框是打开文件夹窗口的变量),但这只给了我变量的属性。我也试过这个:CommonFileDialogResult result = dialog.ShowDialog();
string folderLocation = Convert.ToString(result);
但那只是给了我"好的" - 我认为它是它的结果,而不是实际的文件夹。
答案 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