所以我正在尝试编写一个取消按钮,当它被单击时,将还原对表单所做的更改然后关闭它。我有一个想法是在表单加载事件声明变量来存储原始值。然而,由于这将涉及将它们宣布为全球性的,我不想走那条路。有了这个说我的问题是:什么是恢复表单更改而不必声明一堆全局变量的最佳方法。
修改
嘿伙计们感谢您的帮助,但经过研究后我找到了答案。由于我将所有这些表单的控件值存储到My.Settings中,所以我需要做的就是使用
My.Settings.Save()
在接受按钮点击事件和
My.Settings.Reload()
Me.Close()
关闭按钮事件。
答案 0 :(得分:0)
您对表单的一般设计是什么?如果你不得不关闭表格,你不能立即关闭它而不保存吗?
如果您在表单上有数据绑定控件,您最终可以执行dataSource.RejectChanges ...
答案 1 :(得分:0)
保存原始值是正确的想法。您可以将它们保存在表单类的私有变量中,而不是将它们保存在全局级别。您可能希望将它们全部存储在单个数据结构中 - 哈希映射将是一个不错的选择。
答案 2 :(得分:0)
一种方法是在某些数据源/对象和表单之间使用DataBindings。这样您就可以使用RejectChanges
“回滚”潜在的更改。
以下是有关DataSet.RejectChanges的更多信息(在这种情况下,DataSet将包含您的数据)。 http://msdn.microsoft.com/en-us/library/system.data.dataset.rejectchanges.aspx
答案 3 :(得分:0)
嘿伙计们感谢您的帮助,但经过研究后我找到了答案。由于我将所有这些表单的控件值存储到My.Settings中,所以我需要做的就是使用
My.Settings.Save()
在接受按钮点击事件和
My.Settings.Reload() Me.Close()
关闭按钮事件。