我正在编写一个从选择文件开始的小实用程序,然后我需要选择一个文件夹.我想将文件夹默认为所选文件所在的位置.
OpenFileDialog.FileName
返回完整的路径和文件名 - 我想要的只是获取路径部分(无文件名),所以我可以使用它作为初始选择的文件夹.
private System.Windows.Forms.OpenFileDialog ofd; private System.Windows.Forms.FolderBrowserDialog fbd; ... if (ofd.ShowDialog() == DialogResult.OK) { string sourceFile = ofd.FileName; string sourceFolder = ???; } ... fbd.SelectedPath = sourceFolder; // set initial fbd.ShowDialog() folder if (fbd.ShowDialog() == DialogResult.OK) { ... }
有没有.NET方法可以做到这一点,还是我需要使用regex, split, trim,
等?
使用Path
来自的课程System.IO
.它包含用于操作文件路径的有用调用,包括GetDirectoryName
执行您想要的操作,返回文件路径的目录部分.
用法很简单.
string directoryPath = Path.GetDirectoryName(filePath);
这个怎么样:
string fullPath = ofd.FileName; string fileName = ofd.SafeFileName; string path = fullPath.Replace(fileName, "");
if (openFileDialog1.ShowDialog(this) == DialogResult.OK) { strfilename = openFileDialog1.InitialDirectory + openFileDialog1.FileName; }
您可以使用FolderBrowserDialog而不是FileDialog,并从OK结果中获取路径.
FolderBrowserDialog browser = new FolderBrowserDialog(); string tempPath =""; if (browser.ShowDialog() == DialogResult.OK) { tempPath = browser.SelectedPath; // prints path }