2012-01-08 23 views
3

我在Winform的C#應用​​程序。我需要保存,例如文本框的用戶在表單控件中輸入的值,的DateTimePicker等保存的WinForm控件值c#

什麼是最好的做這件事的?這些將在再次啓動程序時讀取。我還需要將值保存在一個數據網格中,該數據網格可能只有大約20行。

任何幫助/指針將是極大的讚賞。

回答

0

一種方法是創建自己的INI類,並保存了數據的每個控制在一個文本文件

here's一個很好的例子。

+0

不妨在-1回答這個問題之後發表評論... – Shai 2012-01-08 14:12:47

+0

建議使用ini文件有什麼問題? – 2015-05-09 12:58:01

3

一種方法是創建自己的「拯救國家」的機制,使用ini文件,XML或一些基於文件的數據庫(如源碼)。但我覺得這很糟糕,除非真的需要。

另一種方法是使用的WinForms引擎保存值控制。每個控件都有它自己的應用程序設置屬性。您可以使用該屬性來創建新的應用程序設置值並將該值分配給某些控件的屬性。這將是快速優雅的解決方案,它可以爲每個用戶節省設置。

對於未分配給控件屬性的設置,你可以使用

Settings.Default.SomeYourProperty 

訪問屬性,你可以使用

Settings.Default.Save() 

保存它。這可能對您的小型數據網格非常有用(因爲您無法將數據網格值自動分配給「應用程序設置」屬性,因此您想序列化它們並手動保存)。看看here

0

我一直在我的程序中使用SQLite,它工作得很好,我對數據有很多控制權。

閱讀關於這個問題的csharp-sqliteSystem.Data.SQLite

使用SQLite我用Nini這是保存設置一個非常有用的庫之前的幾個領域,它很容易上手。

如果你想要一個沒有額外庫的更集成的解決方案,那麼你可以看看在你的visual studio解決方案中使用settings。我還沒有看過這個方法,但它可能是你感興趣的東西。

2

你應該使用Properties.Setting,它的設計完全是你的用例。一個非常好的解釋/教程涵蓋了所有常見用例(以及更多),可以找到here

的MSDN有一個article了。