2009-01-22 42 views
1

它是一個簡單的配置應用程序,帶有4個複選框和5個文本框,並且所有值必須在會話中保持不變。保留跨會話文本字段的.NET表單?

我必須序列化字段並手動還原它們嗎?我真的不知道解決這個問題的最佳方式。

回答

5

您可以使用用戶設置,讀取加載時的值並退出時保存。

您可以找到有關設置以及如何檢索並在運行時保存的信息here

0

如果您正在談論一個理想的解決方案,您應該考慮使用MVC(哪些win表單不鼓勵),以便您關心的所有數據都來自封裝的非UI綁定對象(即模型)。 UI表單從數據中自行填充,當表單被拆除時,應用程序可以檢索數據。如果數據對象實現了ISerializable,那麼你已經完成了很多工作。

如果你正在談論權宜之計,並且絕對確定它永遠不需要增長或改變(這從來不會發生 - 我只在一次性應用程序中這樣做),那麼我會刮掉表單內容並將它們寫入一個合適的地方(用戶設置,數據文件等)。

如果您正在討論的是如何構建一個儘可能簡單且永遠不必擔心的問題,我會再次關注如何使用data binding或創建一個能夠理解如何將對象中的數據映射到UI元素上並再次出來(例如,您可以對主要表單元素進行子類化以包含名稱字段或使用初始文本字段來查找要在可序列化的散列表或屬性名稱中查找的鍵在可序列化的對象中)。