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

本文关键字:保留 数据 之间 执行 应用程序 | 更新日期: 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/

您有以下选项

  1. 本地Microsoft Access数据库,可以存储小内存

  2. 使用Dictionary,序列化/反序列化到文件系统

  3. Windows注册表。

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