保存winform控件值c#

时间:2012-01-08 14:06:54

标签: c# winforms

我在Winform c#中有一个应用程序。我需要保存用户在表单控件中输入的值,例如文本框,日期时间戳等。

最好的做法是什么?这些将在再次启动程序时读取。我还需要在一个数据网格中保存值,这可能只有大约20行。

任何帮助/指针都会非常感激。

4 个答案:

答案 0 :(得分:3)

一种方法是使用ini文件,xml或某些基于文件的数据库(如sqlite)创建自己的“状态保存”机制。但除非真的需要,否则我觉得这很糟糕。

其他方法是使用WinForms引擎来保存控件的值。每个控件都有自己的Application Settings属性。您可以使用该属性创建新的“应用程序设置”值,并将该值分配给Control的某些属性。这将是快速而优雅的解决方案,它可以节省每个用户的设置。

对于未分配给控件属性的设置,您可以使用

Settings.Default.SomeYourProperty

访问该属性,您可以使用

Settings.Default.Save()

保存它。这可能对您的小数据网格有用(因为您无法将数据网格值自动分配给“应用程序设置”属性,您希望将它们序列化然后手动保存)。看看here

答案 1 :(得分:2)

您应该使用Properties.Setting,它专为您的用例而设计。可以找到涵盖所有常见用例(以及更多用例)的非常好的解释/教程here

MSDN也有article

答案 2 :(得分:0)

一种方法是创建自己的INI类并在文本文件中保存每个控件的数据

here's一个很好的例子。

答案 3 :(得分:0)

我一直在我的程序中使用SQLite,它运行良好,我对数据有很多控制。

csharp-sqliteSystem.Data.SQLite

上阅读此主题的几个方面

在使用SQLite之前,我使用Nini这是一个非常有用的库来保存设置,它很容易上手。

如果您想要一个没有额外库的更集成的解决方案,那么您可以在Visual Studio解决方案中查看使用settings。我根本没有研究过这种方法,但它可能是你感兴趣的东西。