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

时间:2012-12-24 10:29:01

标签: c# .net winforms

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

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

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

4 个答案:

答案 0 :(得分:17)

最简单的方法是将文本框绑定到application settings

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

保存设置:

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

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

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

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

答案 1 :(得分:1)

您可以使用以下

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

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

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

答案 2 :(得分: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/

答案 3 :(得分:0)

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