我在Winform c#中有一个应用程序。我需要保存用户在表单控件中输入的值,例如文本框,日期时间戳等。
最好的做法是什么?这些将在再次启动程序时读取。我还需要在一个数据网格中保存值,这可能只有大约20行。
任何帮助/指针都会非常感激。
答案 0 :(得分:3)
一种方法是使用ini文件,xml或某些基于文件的数据库(如sqlite)创建自己的“状态保存”机制。但除非真的需要,否则我觉得这很糟糕。
其他方法是使用WinForms引擎来保存控件的值。每个控件都有自己的Application Settings属性。您可以使用该属性创建新的“应用程序设置”值,并将该值分配给Control的某些属性。这将是快速而优雅的解决方案,它可以节省每个用户的设置。
对于未分配给控件属性的设置,您可以使用
Settings.Default.SomeYourProperty
访问该属性,您可以使用
Settings.Default.Save()
保存它。这可能对您的小数据网格有用(因为您无法将数据网格值自动分配给“应用程序设置”属性,您希望将它们序列化然后手动保存)。看看here
答案 1 :(得分:2)
答案 2 :(得分:0)
一种方法是创建自己的INI类并在文本文件中保存每个控件的数据
here's一个很好的例子。
答案 3 :(得分:0)
我一直在我的程序中使用SQLite,它运行良好,我对数据有很多控制。
在csharp-sqlite和System.Data.SQLite
上阅读此主题的几个方面在使用SQLite之前,我使用Nini这是一个非常有用的库来保存设置,它很容易上手。
如果您想要一个没有额外库的更集成的解决方案,那么您可以在Visual Studio解决方案中查看使用settings。我根本没有研究过这种方法,但它可能是你感兴趣的东西。