【发布时间】:2023-08-24 16:45:01
【问题描述】:
今天我发现 FW 4.5 有自己的撤销管理器(如果我理解良好的话)http://msdn.microsoft.com/en-us/library/System.ComponentModel.Design.UndoEngine%28v=vs.110%29.aspx
好吧,我找不到任何关于如何开始使用此类的示例,只是为了对基于文本的控件进行简单的撤消/重做,我知道其他替代方法可以做可撤消的事情,但我只是想学习如何用这个。
当我尝试使用构造函数时,它有任何要传递的参数,而且 Intellisense 没有向我显示 System.ComponentModel.Design.UndoEngine 类的任何方法,我真的不知道如何使用它。
有人可以用C# 或VBNET 的例子来说明我们的例子吗? (如果可能,我更喜欢 VBNET 文档)
【问题讨论】:
-
AddUndoUnit之类的一些方法听起来像是一个框架(即您仍然需要添加很多东西,例如检测更改 - 最困难的部分)与 Etienne 的方法。如果您认为 Etienne 很复杂,请查看UndoUnit的文档:msdn.microsoft.com/en-us/library/… -
你需要自己实现。 UndoEngine 是抽象的,您需要从中派生。此外,当您构建自己的组件并希望提供撤消/重做功能(而不是运行时)时,它是否仅在设计时有用,因为它依赖于仅在设计时可用的服务。也是自 FW 2.0 以来的课程
-
UndoEngine ad-hoc 使用非常不寻常,因为标准设计器主机(即 Visual Studio)本机支持大多数撤消操作,即使对于自定义控件也是如此。你的方案是什么?
-
@Simon Mourier 我的情况是任意的。正如我在我的问题中所说的并且我在赏金评论中所说的那样,我只是想了解例如使用 TextBox 的用法。感谢您的评论
-
您的方案没有说明您想用撤消引擎做什么。撤消/重做一个文本控件——即使是从基础控件派生的一个——已经可以在没有任何花哨的情况下工作。
标签: c# .net vb.net winforms undo-redo