假設我們有一個具有不同控件的表單。讓我們說一個文本框和一個chkbox。如果用戶鍵入內容並更改檢查狀態,我希望通過關閉表單並再次打開表單,我可以在關閉之前(而非設計狀態)看到表單的狀態。我需要這個在大約50個不同的控件的窗體上實現。你能給我一個提示嗎?順便說一句,我在C#中編程。如何加載表單並加載用戶所做的更改?
0
A
回答
1
編輯:新建答案:
Recursively find all child controls of the form that are TextBox and CheckBox並保存(在詞典[名稱,值]或文件或數據庫,你的選擇)。然後,當需要再次顯示錶單時,請反轉該過程。通過孩子進行遞歸,並從列表中找到以前的控件值。如果您的舊文件不包含該值,請使用默認值(不要設置Text/Checked屬性)。
原來的答案: 防止形式從真正關閉,所以在表格
protected override OnClosing (CancelEventArgs ea)
{
ea.Cancel = true;
this.Hide();
}
然後,當你需要再次展現形式,
myForm.Show();
這正是保留一切,因爲它是。
1
我認爲這樣做的正確方法是定義一個包含表單所需的所有信息的數據模型。然後你可以堅持這個數據模型(數據庫,XML,...)並再次加載它。當您打開表單並且當前用戶尚未完成表單時,則可以根據數據模型填寫表單值。這從視圖中分離出您的數據(我認爲您實際上對您的業務邏輯感興趣)。您可能想看看Model-View-Presenter設計模式。
相關問題
- 1. 創建一個加載表單並加載其他表單
- 2. 後續的組合框沒有加載我所做的更改
- 3. 如何更改外部加載的表單的佔位符?
- 4. 如何在表單加載中更改gridview複選框的值?
- 5. 如何更改啓動時加載的表單?
- 6. 更改html表單值,加載頁面並點擊按鈕
- 7. 選擇加載時的值並更改
- 8. 如何在每次用戶加載頁面時存儲整個Javascript文件並加載更改後的版本?
- 9. iframe加載時顯示加載符號並更改其來源?
- 10. 如何加載客戶端的文件並加載它在某些表
- 11. 如何將啓動時的表單加載更改爲另一個表單?
- 12. 更改URL並重新加載UIWebView?
- 13. 如何使用Backgroundworker加載表單?
- 14. 如何更改src並使用DOJO重新加載iframe?
- 15. 表單加載更改另一個表單元素屬性
- 16. PHP - 表單加載表單加載表單?
- 17. 使用HTML表單來更改提交後加載的網址
- 18. 如何更改初始加載圖像
- 19. 如何更改預加載功能?
- 20. 如何重新加載更改文件?
- 21. 如何做普通lisp的動態加載(加載)
- 22. 如何在表單加載時顯示加載器?
- 23. Symfony:ajax表單加載
- 24. 要加載()或不加載表單加載()
- 25. 加載並訪問加載的所有圖像
- 26. 如何爲並行加載劃分表
- 27. 同時提交表單並加載iframe
- 28. 表單設計器保存並加載
- 29. 更改類加載器
- 30. 更改jQuery加載代碼
ASP.NET,WinForm或WPF? –
你在說winforms,WPF,webforms,..? – ChrisWue