2012-12-24 37 views
9

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

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

我不确定,但听说过有关资源文件的一些缕缕,它们是否适合这种情况?

+0

http://stackoverflow.com/questions/1435037/how-should-i-store-per-user-data-in-winforms – Habib

回答

16

简单的方法就是你的文本框绑定到application settings:要保留

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

    保存设置:

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

    下一次,当用户启动应用程序,设置将与用户特定的文件被加载,和文本框将充满相同的数据,因为它以前用户关闭应用程序最后一次。

    此外,在应用程序设置,您可以存储局部变量,但你必须为他们手动添加设置,手动读取应用程序启动设置:在项目> Settings.settings

    • 打开属性文件夹
    • 添加你想存储(例如MyCounter)设置
    • 集MyCounter类型,范围和默认值(如int,用户,0)
    • 读取设置到本地变量var x = Settings.Default.MyCounter
    • 上形成封闭保存设置Settings.Default.MyCounter = x只是打电话Settings.Default.Save()
    +3

    @mahditahs ildari是的,这是一个winform事物'数据'是一类属性。如果你正在寻找属性名称,那么你需要'(ApplicationSettings)'属性 –

    +1

    我终于明白了你的观点:)太棒了,这就是我一直在寻找的东西,我曾经看过它,但在我的大脑后院失去了图片。 –

    0

    假设你在Windows上(如标签暗示),你有没有考虑过注册表?

    +0

    是的,我在Windows上,是的,我曾考虑过注册表,但由于某些原因,我希望数据驻留在我的应用程序附近(像其他应用文件) –

    1

    您可以使用以下

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

    2-使用字典,Serilize/Deserilize它的硬盘(使用FileSystem的)

    3-储存于Windows注册表

    +0

    对不起,但我说我不想使用数据库,也不是FileSystem,并且注册表也被拒绝回答lexu。 –

    +0

    @mahditahsildari:好吧,如果你排除数据库,注册表**和**文件系统 - 没有太多的选项剩下了.... –

    +1

    抱歉,如果你想保存用户设置,可以在以后重新加载,你需要将它存储在某个地方。这是什么类型的应用程序? – TalentTuner

    相关问题