有专门的方法啊,叫undo(),还有个redo(),试试 

解决方案 »

  1.   

    问题太空,太泛。 实现这个功能都是一般使用Command设计模式实现的。参考 Command模式。
      

  2.   

    你可以参考一下CSLA.NET框架。 它帮助你实现了一个Undoable的实现。
      

  3.   

    其实也不复杂...难度视乎功能的大小...简单点的实现:定义个存储器, 记录每一步的操作&数据, 提供两个方法, 就可以实现了...^o^ 呵呵...