c# - OpenFileDialog InitialDirectory 不接受相对路径吗?

标签 c# relative-path openfiledialog

dialog 是一个 OpenFileDialog 类对象,我正在使用 ShowDialog() 方法。

当我使用包含相对路径的路径时,例如:

dialog.InitialDirectory = "..\\abcd";
dialog.InitialDirectory = Directory.GetCurrentDirectory() + "..\\abcd";

ShowDialog() 崩溃;我唯一能做的就是给出一个明确的路径,从磁盘驱动器开始:

dialog.InitialDirectory = "C:\\ABC\\DEF\\abcd";

在这种情况下,我希望路径是我的 .exe 当前目录的上一级,然后向下到目录 abcd
.exe 的当前路径可以通过 Directory.GetCurrentDirectory() 找到,这很好,但我不能继续 "..")

目录层次如下:

ABC
    DEF 
        abcd (where I want to go)
        defg (where .exe is at)

那么,有什么方法可以将"..\\"InitialDirectory 一起使用吗?
或者我必须使用明确的路径?
谢谢!

最佳答案

我找到了自己的答案!!

string CombinedPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "..\\abcd");
dialog.InitialDirectory = System.IO.Path.GetFullPath(CombinedPath);

关于c# - OpenFileDialog InitialDirectory 不接受相对路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769921/

相关文章:

c# - boost::iostreams 中的 Zlib 压缩与 zlib.NET 不兼容

c# - 根据 bool 值保存来自多个对象的文本

html - CSS 内部链接不是相对于 css 文件?

winapi - Win32函数可以使用OpenFileDialog吗?

c# - 如何在 asp.net Web API 中过滤掉具有自定义属性的字段?

c# - 在 ASP.NET Core 2.2 中将部分 View 呈现为 HTML 字符串

java - 寻找绝对路径

ruby - 在 Ruby 中,如何将另一个目录中的文件指定为输入?

vb.net - VB.net中如何引用当前Windows用户的视频文件夹路径

.net - 根据是为 32 位还是 64 位架构构建,OpenFileDialog 显示不同的文件