【发布时间】:2011-02-01 20:37:12
【问题描述】:
以编程方式编辑 RichTextBox 控件的文本(更具体地说,修改选择字体/颜色)似乎在控件的内置撤消堆栈中进行跟踪。除了编写我自己的撤消/重做“管理器”之外,有没有办法防止某些操作/操作被添加到撤消堆栈中?
【问题讨论】:
标签: c++-cli richtextbox undo
以编程方式编辑 RichTextBox 控件的文本(更具体地说,修改选择字体/颜色)似乎在控件的内置撤消堆栈中进行跟踪。除了编写我自己的撤消/重做“管理器”之外,有没有办法防止某些操作/操作被添加到撤消堆栈中?
【问题讨论】:
标签: c++-cli richtextbox undo
不可以。充其量您可以通过发送 EM_SETUNDOLIMIT 两次来完全刷新撤消堆栈。 EM_SETTEXTEX 提供与 ST_DEFAULT 标志相同的选项。肯定不是你想要的。看看 ScintillaNET 寻找真正的编辑器。
【讨论】:
实际上,您可以通过实现一些 ITextDocument 接口并将 tomSuspend 和 tomResume 作为计数参数发送到 Undo 处理程序来轻松做到这一点。
【讨论】:
如果您在搜索 WPF c# 答案时来到这里,那么这里有一个很好的答案 Answered
【讨论】: