【发布时间】:2013-03-24 05:57:58
【问题描述】:
我已经尝试让 undo 和 redo 在我的文本编辑器中工作大约 3 天了。它让我头疼。
我有一个文本框(名为richTextBoxPrintCtrl1),我希望能够撤消和*重做*(逐字)。
所以如果我点击撤消按钮,它撤消最后一个字。如果我随后单击重做按钮,它重做最后一个字。
有人可以帮我解决这个问题吗?
richTextBoxPrintCtrl1.Undo(); 不能很好地工作。它会删除在文本框中输入的所有内容。
提前感谢您的帮助。
我知道这个问题以前被问过很多次,但我无法使用我在 SO 上浏览的问题中的信息来解决这个问题。
【问题讨论】:
-
我是编程新手,如果我是愚蠢的,请原谅我。
-
之前有几个关于这个主题的问题。你应该在 StackOverflow 上搜索它。这个,比如stackoverflow.com/questions/8025926/…
-
正如我所说,我已经搜索了各种来源(包括 SO),但找不到我可以理解/实施的来源。
-
那么,如果您发布的代码显示了您迄今为止所做的事情,将会有所帮助。正如其他答案所说,您必须在每次触发 TextChanged 事件时使用堆栈实现自己的自定义撤消,然后在每次调用撤消时弹出堆栈。
-
问题是我无法让任何类型的撤消工作(除了richTextBoxPrintCtrl1.Undo();)。
标签: c# winforms visual-studio-2012