2017-02-09 108 views
0
private void btnStart_Click(object sender, EventArgs e) 
{ 
    System.Windows.Forms.FolderBrowserDialog openFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 

    if (openFolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
    { 
     Properties.Settings.Default.LastSelectedFolder = openFolderDialog.SelectedPath.ToString(); 
     Properties.Settings.Default.Save(); 
} 

LastSelectedFolder不存在。 我试图去设置选项卡的项目属性,并在那里我添加到LastSelectedFolder的值。如何使用FolderBrowserDialog保存并加载用户上次选择的文件夹?

所以现在我有:名称设置类型的字符串范围的用户价值LastSelectedFolder

但它不工作仍然得到错误,还节省了在何处以及如何我点击btnStart时加载回来后?

的LastSelectedFolder是不存在的默认后,即使添加它来设置:

Settings

+0

您保存了上次选择的文件夹,但下次显示'FolderBrowserDialog'时,您没有使用它。 –

+2

** 1)**在新版本的问题中,我们可以在截图中看到,该属性被命名为“Setting”,其中包含值“LastSelectedFolder”。所以你的代码当前应该有构建错误,因为你使用了'Properties.Settings.Default.LastSelectedFolder'。 ** 2)**你也不需要手动设置文件夹浏览器的属性,使用属性绑定到应用程序设置,如下所示:[Save in VB.Net or C#](http:// stackoverflow。 com/q/32487574/3110834) –

回答

1

你要设置的最后一个路径作为默认值,如果创建一个新的对话框。因此您也可以使用FolderBrowserDialog.SelectedPath属性。这里是你的代码的附加行:

private void btnStart_Click(object sender, EventArgs e) 
{ 
    System.Windows.Forms.FolderBrowserDialog openFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 
    openFolderDialog.SelectedPath = Properties.Settings.Default.LastSelectedFolder; 

    if (openFolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
    { 
      Properties.Settings.Default.LastSelectedFolder = openFolderDialog.SelectedPath.ToString(); 
      Properties.Settings.Default.Save(); 
    } 
} 

在你的截图中,你命名你的设置Setting。将其更改为LastSelectedFolder并清除默认值(最后一列)。

之后,您可以编译并运行!

+0

但LastSelectedFolder在Default:Properties.Settings.Default.LastSelectedFolder后不存在,即使在将LastSelectedFolder添加到项目属性中的Settings后也是如此。 –

+0

这听起来像是一个设置问题。你能显示设置吗? – Fruchtzwerg

+0

是编辑我的问题与设置屏幕截图 –

0

试试这个:

private void btnStart_Click(object sender, EventArgs e) 
    { 
     System.Windows.Forms.FolderBrowserDialog openFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); 
     openFolderDialog.SelectedPath = Properties.Settings.Default.LastSelectedFolder; 

     if (openFolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
     { 
      Properties.Settings.Default.LastSelectedFolder = openFolderDialog.SelectedPath.ToString(); 
      Properties.Settings.Default.Save(); 
    } 
相关问题