14

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

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

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

4

4 回答 4

22

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

  • 选择要保留的texbox
  • 转到属性>数据>(应用程序设置)
  • 将应用程序设置绑定添加到 Text 属性
  • 关于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.MyCounter = x在调用之前的表单关闭保存设置Settings.Default.Save()
于 2012-12-24T10:34:50.067 回答
1

您有以下选择

  1. 一个本地 Microsoft Access 数据库,可以存储小空间。

  2. 使用字典,序列化/反序列化到文件系统。

  3. Windows 注册表。

于 2012-12-24T10:37:24.497 回答
1

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

使用设置是一种选择: 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/

于 2012-12-24T10:41:39.090 回答
0

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

于 2012-12-24T10:31:48.633 回答