我有一个表单和一个子表单,都有一些绑定到app.config中的设置的控件。
子表单有“保存”和“取消”按钮,如果用户单击“保存”,它将保存设置,如果单击“取消”,表单将关闭而不保存。
当主窗体关闭时(使用FormClosing事件)我也保存设置(对于该窗体),但由于子窗体设置在同一位置,它也会保存这些设置。
但也许我已经更改了子窗体控件,然后通过取消退出 - 在这种情况下,这些不需要的设置也会在主窗体退出时保存。
那我该怎么处理呢?显然,我可以在按下取消时专门重置子表单值;但理想情况下,每次添加或删除设置限制控件时,我都不必不断更新此代码。
我想知道是否有表单级重置或回滚选项,所以我可以重置子表单的状态而无需手动操作单个控件?
或许我应该为每个表单维护单独的设置文件?我认为我没有理由不这样做,但是有更好的方法吗?
答案 0 :(得分:0)
我所采用的解决方案是将不同的应用程序/用户/表单设置分离到不同的.settings文件中(请参阅:this question)。
通过对我的设置进行更精细的控制,我可以在FormClosing事件中重新加载与此表单相关的设置(仅限)。