如何实现树视图中映射的文件的撤消/重做

Cor*_*nel -1 c# undo-redo

任何人都可以知道如何实现在C#中树视图中映射的文件(dirs,subdirs)的剪切/复制/粘贴的撤消/重做?

有一些代码示例会很棒.

Iha*_*tka 7

考虑实现命令模式(GoF):

  • 将您的动作逻辑放入实现公共ICommand {Do(); Undo();}接口.
  • 在每个用户操作上,您创建所请求命令的对象,并使用新旧文件名等上下文参数对其进行初始化.
  • 调用Do(),将对象放入已完成命令的堆栈中.
  • 每个命令都提供有上下文,因此通过调用Undo()可以反转更改.
  • 考虑将文件移动到临时文件夹而不是删除.


Dir*_*mar 5

撤销/重做通常使用所谓的"命令模式"来实现.使用Google搜索或阅读以下文章:

http://blogs.vbcity.com/jspano/articles/198.aspx