我想知道是它在某種程度上可以保存表單的狀態在C#應用程序後關閉?我試着使用List,並且每當我創建一個Form的實例時,該實例被添加到List,並且它在那裏直到它被刪除。它工作正常,我可以查看,編輯和刪除保存的表單,直到應用程序關閉。所以,考慮到表單不可序列化,是否有機會以某種方式保存List,並稍後加載?保存和載入列表<Form>在C#
回答
控制和Form類是不可序列。有一個很好的理由是,他們的財產價值許多都嚴重依賴於程序的執行狀態。像Handle一樣,非常重要但總是不同。 UICues取決於用戶是否按下了Alt鍵。即使是簡單的東西,如位置和大小,依賴於視頻適配器設置和用戶偏好。
你不會希望序列化這些屬性。你想保存的是用於初始化控件的數據。這當然完全取決於你的計劃,根本沒有共同點。因此,您需要創建一個存儲用戶界面狀態的類。你可以根據需要使其可序列化,並選擇你喜歡的方式來實現序列化,有很多方法可以這樣做。在代碼中嚴格地將模型視圖與模型分開,對於在開展這項工作時有一個體面的鏡頭通常非常重要。
好點;然而,在目前的情況下,這並沒有回答OP所提出的問題。他已經知道該表格不是可序列化的,並且正在尋求替代方案。 – Candide
我在第二段專門討論了這個問題。當沒有共同性時,有很多選擇。事實上,他們都會工作。我只能推薦那些重要的東西,以便使其中的任何*易於實現。 –
- 1. 保存列表<int>
- 2. 轉換列表<列表<string[]>>入串[] [] [],在c#
- 3. 保存,加載和操作(列表視圖)數據C#
- 4. 加載並保存列表
- 5. C#列表<object>和列表
- 6. 保存列表<Object>與Parcelable
- 7. java保存列表<JButton>
- 8. 保存SelectItem []列表<Hotel>對象
- 9. 從列表<T>保存到txt
- 10. 如何存儲/保存HashMap <String,列表<String>>
- 11. 保存和在C++
- 12. C# - 在列表框保存價值
- 13. C#的LINQ SQL保存列表<Point>
- 14. C# - 保存列表<T>到XML文件
- 15. 在C++中重載「>>」和「<<」
- 16. 保存和讀取列表
- 17. asp.net MVC C#,型號列表<t>結合和保存數據
- 18. C#如何投入列表進入列表<customClass>
- 19. 插入列表<string>和列表<Object>到字典
- 20. Spring Data @DomainEvents和AbstractAggregateRoot保存失敗(列表<S>迭代)
- 21. C#DataSet XML加載和保存
- 22. C#[持久保存和加載]
- 23. 保存,加載和重放遊戲。 C++
- 24. Java列表<?>在C#
- 25. 從列表<>在C#
- 26. 在列表<string> C#
- 27. 將AST和M3保存/載入文件
- 28. 保存和載入一個單身
- 29. Objective-C的保存和載入的文件
- 30. VB.NET保存/加載列表框
您可以保存您的佈局XML並加載當您打開應用了該回來了。 –
我認爲使用XML進行各種設置是非常好的設計。 XML在許多領域得到了應用,並且變得越來越重要。 –
這是一個WinForm嗎?您想要保存哪些控件/表單的屬性? –