2012-03-07 61 views
0

我有一个表单和一个子表单,这两个表单都绑定了一些绑定到app.config中的设置的控件。对设置绑定的控件进行回滚更改

子表单有Save和Cancel按钮,如果用户点击保存,它将保存设置,如果他们点击取消,表单会关闭而不保存。

当主窗体关闭(使用FormClosing事件)时,我也保存设置(对于该窗体),但由于子窗体设置在相同的位置,它也保存这些设置。

但也许我已经改变了子窗体控件,然后通过取消退出 - 在这种情况下,这些不需要的设置也将在主窗体退出时保存。

那么我该如何处理呢?显然,当按下取消按钮时,我可以专门重置子表格的值;但理想情况下,我希望在每次添加或删除设置绑定控件时都不必更新此代码。

我想知道是否有表单级重置或回滚选项,所以我可以重置子表单的状态,而无需手动操作单个控件?

或者我应该为每个表单维护单独的设置文件?我认为没有理由不能做到这一点,但有没有更好的办法?

回答

0

我去过的解决方案是将不同的应用程序/用户/表单设置分隔成不同的.settings文件(请参阅:this question)。

通过对我的设置进行更精细的控制,我可以重新加载与FormClosing事件中此表单(仅)相关的设置。

相关问题