c# OpenFileDialogue 使用相对路径的初始目录

本文关键字:路径 OpenFileDialogue 相对 | 更新日期: 2023-09-27 18:33:34

如何将初始目录设置为测试数据所在的位置?

var relPath = System.IO.Path.Combine( Application.StartupPath, "../../" )
dlg.Title = "Open a Credit Card List";
dlg.InitialDirectory = relPath ;

它打开的默认目录是.exe所在的位置:Project2''Project2''bin''Debug

我希望它默认在我的测试数据所在的 Project2 文件夹中打开。但它不允许我向上移动父目录。我该如何解决这个问题?

c# OpenFileDialogue 使用相对路径的初始目录

您可以使用

Directory.GetParent(string path)

string relPath = Directory.GetParent(Application.StartupPath).Parent.FullName;

或使用DirectoryInfo

DirectoryInfo drinfo =new DirectoryInfo(path);
DirectoryInfo twoLevelsUp =drinfo.Parent.Parent;
dlg.InitialDirectory = twoLevelsUp.FullName;;

要将相对路径转换为绝对路径,您可以使用Path.GetFullPath()

var relPath = System.IO.Path.Combine(Application.StartupPath, @"'..'..");
relPath = Path.GetFullPath(relPath);
dlg.InitialDirectory = relPath;

或者,如果您希望将工作目录更改为测试数据:

Directory.SetCurrentDirectory(relPath);

更多信息:http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspxhttp://msdn.microsoft.com/en-us/library/system.io.directory.setcurrentdirectory.aspx