我正在编写一个游戏,我有时需要撤消一些步骤,有没有直接的方法来做到这一点? 我尝试将控件放在数据结构,堆栈和列表中等等,但在我的游戏中事情太复杂了。 感谢
答案 0 :(得分:0)
不,没有内置的方法可以做到这一点;你必须自己编码。我建议创建一个类FormState
,它有成员表示要保存状态的表单上每个控件的值。然后添加方法以将表单值复制到表单或从表单复制表单值。最后,在程序中创建堆栈数据结构。每当用户更改表单上的内容时,创建FormState
的新实例,调用方法将当前表单状态转移到FormState
对象,并将其推送到堆栈上。如果用户按下undo,则从堆栈中弹出最后一个状态并调用该方法从FormState
类恢复表单控件。这真的就是它。