保存winform控件的值 c#

5

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

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

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

4个回答

5

一种方法是创建自己的“状态保存”机制,使用ini文件、xml或某些基于文件的数据库(如sqlite)。但我认为除非真正需要,否则这样做不好。

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

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

Settings.Default.SomeYourProperty

要访问该属性,可以使用

Settings.Default.Save()

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


2
你应该使用Properties.Setting,它专门为你的用例而设计。可以在这里找到一个非常好的解释/教程,涵盖了所有通常的用例(和一些更多的)。
MSDN也有一篇文章

0

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

这里有一个很好的例子。


0

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

关于这个主题,还可以阅读一些相关的文章,比如csharp-sqliteSystem.Data.SQLite

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

如果您想要一个更完整的解决方案而不需要额外的库,则可以尝试在您的Visual Studio解决方案中使用settings。我没有研究过这种方法,但这可能是您感兴趣的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接