在应用程序执行之间保留数据

我有一些带有一些文本框的应用程序。 我的用户填写文本框并运行一些方法,当他们关闭应用程序数据时(通常)丢失。

我想保留几个文本框和一些局部变量的值。 使用database是不值得的,简单的.txt文件不够干净,是否还有其他简单而简洁的方法可以在应用程序运行之间存储少量数据?

我不确定但是听过一些关于资源文件的瑕疵,它们对这种情况有好处吗?

最简单的方法是将文本框绑定到应用程序设置 :

  • 选择要保留的texbox
  • 转到属性>数据>(ApplicationSettings)
  • 添加应用程序设置绑定到Text属性
  • FormClosed事件保存应用程序设置

保存设置:

 private void Form_FormClosed(object sender, FormClosedEventArgs e) { Settings.Default.Save(); } 

下次用户启动应用程序时,将从用户特定文件加载设置,文本框将填充上次用户关闭应用程序之前的相同数据。

此外,在应用程序设置中,您可以存储本地变量,但您必须手动为它们添加设置,并在应用程序启动时手动读取该设置:

  • 在项目> Settings.settings下打开Properties文件夹
  • 添加要存储的设置(例如MyCounter)
  • 设置MyCounter类型,范围和默认值(例如int,User,0)
  • 将设置读取到本地变量var x = Settings.Default.MyCounter
  • 在窗体关闭保存设置Settings.Default.MyCounter = x之前调用Settings.Default.Save()

您可以使用以下内容

1-基于MS-ACCESS的本地数据库,可以存储小占用空间。

2-使用字典,在硬盘上进行Serilize / Deserilize(使用FileSystem)

3-将其存储在Windows注册表中

有几个选项,但是对于大多数选项,你将把文件放在某处,无论是文本文件,资源/配置还是二进制文件。

使用设置是一个选项: http : //www.codeproject.com/Articles/17659/How-To-Use-the-Settings-Class-in-C

您也可以采用序列化路线: http : //msdn.microsoft.com/en-us/library/vstudio/et91as27.aspx

或者您可以查看像MongoDB这样的noSQL数据库: http : //www.mongodb.org/

假设您使用的是Windows(如标签所示),您是否考虑过注册表?