3

应用程序配置:

<add key="SaveDraftPath" value="C:\Drafts\"/>

C#:

var saveDraftPath = ConfigurationManager.AppSettings["SaveDraftPath"]; 
var sfDialog = new SaveFileDialog();
sfDialog.InitialDirectory = saveDraftPath;
sfDialog.FileName = "FILE";

由于某种原因,这不会像计划的那样在路径中打开文件浏览器,有人知道为什么或如何解决吗?

我现在试过了,还是不行:

var saveDraftPath = Path.GetFullPath(ConfigurationManager.AppSettings["SaveDraftPath"]);
MessageBox.Show("does directory exist : " + Directory.Exists(saveDraftPath));
var sfDialog = new SaveFileDialog();
sfDialog.InitialDirectory = saveDraftPath;
sfDialog.FileName = "FILE";

和 Directory.Exists(saveDraftPath) 返回 true.. 嗯?!

编辑:上面的代码对我有用一次。该代码适用于迄今为止已回答的每个人。但它仍然无法正常工作。所以我怀疑问题是某种本地/历史设置阻止它。有谁知道为什么会发生这种情况?

4

2 回答 2

1

试试这个:

var path = Path.GetFullPath(ConfigurationManager.AppSettings["SaveDraftPath"])

也看看Path Class,有几个有用的方法

于 2010-02-16T00:54:06.643 回答
0

这对我有用(从配置中获取正确的路径)

var saveDraftPath =
           ConfigurationManager.AppSettings["SaveDraftPath"];
        var sfDialog = new SaveFileDialog();
        sfDialog.InitialDirectory = saveDraftPath;
        sfDialog.FileName = "FILE";

        if (sfDialog.ShowDialog() == DialogResult.OK)
        {
            //do stuff
        }

有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx

于 2010-02-21T14:54:15.933 回答