【问题标题】:Save file dialog - path not working保存文件对话框 - 路径不起作用
【发布时间】:2010-02-15 23:58:23
【问题描述】:

App.config:

<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.. 嗯?!

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

【问题讨论】:

  • 这对我来说没问题。机器上肯定存在c:\drafts目录吗?
  • 确实如此。我对此进行了测试。它实际上工作了一次,然后当我在行中添加它的默认名称时它停止工作......嗯......
  • 我实际上还有另一行可以打开它显然 var clickedOk = sfDialog.ShowDialog();
  • 会不会是一些本地设置覆盖了代码?

标签: c# wpf savefiledialog


【解决方案1】:

试试这个:

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

也看看Path Class,有几个有用的methods

【讨论】:

    【解决方案2】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 2012-03-17
      • 2017-12-04
      • 2014-01-09
      • 1970-01-01
      • 2016-12-28
      相关资源
      最近更新 更多