在应用程序执行之间保留数据
本文关键字:保留 数据 之间 执行 应用程序 | 更新日期: 2023-09-27 17:49:35
我有一个应用程序与一些文本框。我的用户填充文本框并运行一些方法,当它们关闭应用程序时数据丢失(通常)。
我想保留几个文本框和一些局部变量的值。使用database
是不值得的,而且简单的.txt
文件不够干净,有没有其他简单的方法在应用程序运行之间存储少量数据?
我不确定,但听说过一些关于资源文件的传言,它们对这种情况有好处吗?
最简单的方法是将文本框绑定到应用程序设置:
- 选择要保留的文本框
- 进入属性>数据>(应用程序设置)
- 添加应用程序设置绑定到文本属性
- 关于
FormClosed
事件保存应用设置
保存设置:
private void Form_FormClosed(object sender, FormClosedEventArgs e)
{
Settings.Default.Save();
}
下次当用户启动应用程序时,设置将从用户特定的文件中加载,并且文本框将填充与用户上次关闭应用程序之前相同的数据。
同样在应用程序设置中,你可以存储本地变量,但你必须手动为它们添加设置,并在应用程序启动时手动读取该设置:
- 打开项目下的属性文件夹> Settings.settings
- 添加你想要存储的设置(例如MyCounter)
- 设置MyCounter类型,范围和默认值(例如int, User, 0)
- 读取本地变量
var x = Settings.Default.MyCounter
的设置 - 在窗体关闭时,在调用
Settings.Default.Save()
之前保存设置Settings.Default.MyCounter = x
有几个选项,但对于大多数选项,您将把文件放在某个地方,无论是文本文件,资源/配置还是二进制文件。
使用设置是一个选项:http://www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C
您也可以采用序列化路径:http://msdn.microsoft.com/en-us/library/vstudio/et91as27.aspx
或者你可以看看noSQL数据库,如MongoDB: http://www.mongodb.org/
您有以下选项
-
本地Microsoft Access数据库,可以存储小内存
-
使用Dictionary,序列化/反序列化到文件系统
-
Windows注册表。
假设您使用的是Windows(如标签所示),您考虑过注册表吗?