1

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

var relPath = System.IO.Path.Combine( Application.StartupPath, "../../" )

dlg.Title = "Open a Credit Card List";
dlg.InitialDirectory = relPath ;

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

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

4

2 回答 2

2

您可以使用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;;
于 2013-10-01T03:15:14.627 回答
0

要将相对路径转换为绝对路径,您可以使用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.aspx http://msdn.microsoft.com/en-us/library/system.io.directory。设置当前目录.aspx

于 2013-10-01T03:24:18.870 回答