如何将初始目录设置为我的测试数据所在的位置?
var relPath = System.IO.Path.Combine( Application.StartupPath, "../../" )
dlg.Title = "Open a Credit Card List";
dlg.InitialDirectory = relPath ;
它打开的默认目录是.exe存在的位置:Project2 \ Project2 \ bin \ Debug
我希望默认情况下在我的测试数据存在的Project2文件夹中打开它。但它不允许我向上移动父目录。我该如何解决这个问题?
答案 0 :(得分: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;;
答案 1 :(得分: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.setcurrentdirectory.aspx