我们在编写软件的时候总有一些配置数据需要保存,比如用户选择的偏好设置,又如软件所用到的数据库文件等。我们有很多中方式都可以保存,比如直接保存在某个文本文件,或者ini文件中,其实最简单的办法是保存在项目的资源文件中。
文章目录
- 一、设置文件
- 1、找到并建立设置文件
- 2、App.config文件
- 3、setting.designer.cs
- 二、在主程序中调用
- 1、读取
- 2、写入
- 3、写入数据不能保存的问题
文章原出处: https://blog.csdn.net/haigear/article/details/141424438
一、设置文件
1、找到并建立设置文件
设置文件,我们可以在项目属性中找到它,注意,不是上面的资源文件。如果你选择了资源文件,那就需要操作资源文件中的键值对了,方法其实查不到,但我们这里是专门来讲软件的设置,所哟我们还是建议大家选择设置文件。
打开后我们就可以创建一些我们需要保存的键值对,当然,你可以只创建名称
文章原出处: https://blog.csdn.net/haigear/article/details/141424438
2、App.config文件
完上述上述步骤后,我们会发现项目文件中都了一个app.config,内容可以和上面表格对应
注意:
这个文件其实不是真正用来我们存储我们的设置数据的文件,而只是为我们提供了一个模板文件,在运行程序的时候,如果需要存储配置数据了,系统会自动拷贝一个app.config文件放在windows的用户数据中,一般都放在appdata中了,大家感兴趣的可以去找找。
文章原出处: https://blog.csdn.net/haigear/article/details/141424438
3、setting.designer.cs
这是系统专门为我们的项目生成的一个封装了上述表格中建立的键值操作的类。值得大家注意的是,如果你只是用到读取上述表格中的键值,那么无所谓了,就不用修改了。
通过在这里添加的存储名称,系统会自动帮我们在建立一个属性:
public string saveFoldPath {
get {
return ((string)(this["saveFoldPath"]));
}
}
但我们使用的时候,如果要存储,上面的类是不满足要求的,因为很显然,上面的saveFoldPath是只读的,如果我们要让它具备写的特性,那么就必须手动增加set代码,如下:
public string saveFoldPath {
get {
return ((string)(this["saveFoldPath"]));
}
set {
this["saveFoldPath"] = value;
}
}
文章原出处: https://blog.csdn.net/haigear/article/details/141424438
二、在主程序中调用
1、读取
如果你仅仅是想读取刚刚表格中的内容,超级简单(以前老版本的VS可能比较复杂一些,需要建立一个配置管理对象,而VS2022版就人性化了,不需要建立一个配置管理对象实例了)
string fpath=Properties.Settings.Default.saveFoldPath;
是不是简单到出奇!!
2、写入
假定我们是要获取选择的文件夹的路径,那么代码如下:
FolderBrowserDialog folderBrowserDialog= new FolderBrowserDialog();
if(DialogResult.OK== folderBrowserDialog.ShowDialog())
{
Properties.Settings.Default.saveFoldPath = folderBrowserDialog.SelectedPath;
Properties.Settings.Default.Save();
MessageBox.Show(Properties.Settings.Default.saveFoldPath);
}
其实真正写入的动作就两句:
Properties.Settings.Default.saveFoldPath = @"c:\ddd";
Properties.Settings.Default.Save();
还是一句话,超级简单!!
文章原出处: https://blog.csdn.net/haigear/article/details/141424438
3、写入数据不能保存的问题
你可能会遇到写入的数据不能存储的问题,那么一定是你把这里的设置给改成了“应用程序”了,必须改回“用户”!
好了,超级简单的事情,那就这简单的说完了。本文所描述的代码都是建立在VS2022的IDE中的,希望大家注意,不保证在其他版本中能够正确实现。
文章可能随时更新,请大家关注文章原出处: https://blog.csdn.net/haigear/article/details/141424438