保存文件对话框初始目录

SaveFileDialog InitialDirectory

我有一个用 VSTO 和 VS2013 编写的 Outlook 2013 插件。我有一个保存文件对话框,我在其中将初始目录设置为网络安装。保存到带有 MailItem.SaveAs() 的路径是可行的,但是当我将它与 saveFileDialog1.InitialDirectory = "W:/etc/etc/"; 一起使用时,我只是将我的文档库作为初始目录。为什么它不起作用?

相关代码如下:

        SaveFileDialog saveFileDialog1 = new SaveFileDialog();
        saveFileDialog1.FileName = filename;
        saveFileDialog1.InitialDirectory = path;
        saveFileDialog1.AddExtension = false;
        saveFileDialog1.CheckFileExists = true;
        saveFileDialog1.DefaultExt = "\".mht\"";
        saveFileDialog1.Filter = "\"MHT Files|*.mht|All Files|*.*\"";

        DialogResult result = saveFileDialog1.ShowDialog();

这就是所有相关代码。 FileName 工作正常,路径格式为 "W:/Folder/Folder/"

谢谢

查看有关字符串文字的 this 文章

如果你想要一个反斜杠,你应该使用双反斜杠

saveFileDialog1.InitialDirectory = "W:\etc\etc\";

或使用@符号:

saveFileDialog1.InitialDirectory = @"W:\etc\etc\";

您还应该设置 RestoreDirectory 以便将工作目录设置回您的应用程序目录。 检查此 link 以供参考

saveFileDialog1.RestoreDirectory = true;

似乎 InitialDirectory 不接受路径中的 / 但需要反斜杠

这个例子适合我。

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.FileName = "c:/temp/somefilename.txt";
saveFileDialog1.InitialDirectory = "c:\temp\";
saveFileDialog1.AddExtension = false;
saveFileDialog1.CheckFileExists = true;
saveFileDialog1.DefaultExt = "\".mht\"";
saveFileDialog1.Filter = "\"MHT Files|*.mht|All Files|*.*\"";

DialogResult result = saveFileDialog1.ShowDialog();