C#实现把用户第一次选择的路径保存到配置文件app.config中

时间:2021-11-08 08:50:38

最近在做一个选取文件夹路径后再次选取可以直接默认路径的方法,有些类似于下载器选取目录后下次打开会提供默认路径选择一样。
也查询过许多资料和网友们的想法,不过并没有一个比较具体的解决方案,所以在这里我的第一篇博文就是为实现这个功能做个详细的汇总吧。
一.思路是:
把第一次用户选取的路径保存到配置文件中,下次再次打开应用程序时会读取配置文件的路径实现默认读取,使得用户不需要再次选择文件夹路径。
二.app.config代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
<add key="folder" value="_path" />//在appSrtting节中直接加入键值对,_path即为保存的路径值
</appSettings>
</configuration>

三.c#代码:

            FolderBrowserDialog dialog = new FolderBrowserDialog();
Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (Directory.Exists(config.AppSettings.Settings["folder"].Value))//判断配置的路径是否存在
{
dialog.SelectedPath = config.AppSettings.Settings["folder"].Value;//若路径存在则自动获取该路径
}
if (dialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
string _path = dialog.SelectedPath;//将用户选取的路径值赋值给变量
config.AppSettings.Settings["folder"].Value = _path; //将用户选取的路径_path赋给app.config中的_path(名称自取)
config.Save(ConfigurationSaveMode.Modified); //将配置保存
}
System.Configuration.ConfigurationManager.RefreshSection("appSettings");//刷新配置文件
}

四.注意事项:
加上using System.Configuration;引用空间,以及右键工程添加引用System.Configuration