c# – 如何从RichTextBox控件的撤消堆栈中删除操作?

前端之家收集整理的这篇文章主要介绍了c# – 如何从RichTextBox控件的撤消堆栈中删除操作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎在 Windows窗体的RichTextBox中有这个ClearUndo()方法(见 system.windows.forms.textboxbase.).

我在RichTextBox Control中需要类似的东西.这是因为(正如在此处提到的:Preventing a RichTextBox operation from being added to the control’s Undo stack)每个更改都添加到RichTextBox的撤消堆栈中.

我喜欢重写OnTextChanged事件并从Uno堆栈中删除一些这些更改.我怎样才能做到这一点?

谢谢.

解决方法

您可以使用以下代码模拟WPF RichTextBox控件的ClearUndo():
richTextBox.IsUndoEnabled = false;
richTextBox.IsUndoEnabled = true;

但是你无法控制撤消列表中的任何特定操作.

如果您仍想实现自己的撤消/重做机制,最简单,最直接的方法是在每个重要文本更改中将控件的整个文本存储在数组中.但是,只有当你不打算用控件编辑大文本时,我才会建议它.

猜你在找的C#相关文章