C#RichTextBox:突出显示撤消
发布时间:2020-12-16 06:56:28 所属栏目:百科 来源:网络整理
导读:我正在做一个带语法高亮的简单xhtml编辑器. 问题是在richtextbox撤消历史记录中存储了所有内容.甚至我突出的变化. 我已经发现有一个richtextbox.UndoActionName,如果你以编程方式更改richtextbox,它应该是“Unknown”.所以当按下ctrl z时我尝试了类似的东西
我正在做一个带语法高亮的简单xhtml编辑器.
问题是在richtextbox撤消历史记录中存储了所有内容.甚至我突出的变化. 我已经发现有一个richtextbox.UndoActionName,如果你以编程方式更改richtextbox,它应该是“Unknown”.所以当按下ctrl z时我尝试了类似的东西: while(richtextbox.CanUndo && richtextbox.UndoActionName == "Unknown"){ richtextbox.Undo(); } 这只是选择了我的整个文本,并没有实际撤消任何东西(只是保持循环,直到我停止它…). 编辑:如果我可以向richtextbox发送消息以停止记录撤消历史记录,而我正在突出显示或以某种方式排除或使用未知名称进行操作,那会很酷吗,有什么办法可以做到这一点吗? 编辑2:我已经用愚蠢的方式完成了它,我将整个文本存储在链表中,当重做时我清除了richtextbox并用列表中的最后一项填充它然后重新突出显示.也许这有助于任何人 解决方法
问题是你正在尝试撤消上一个操作,这将是下一个操作的撤消,因此它将继续这样做.
试试这个: while(richtextbox.CanUndo) { richtextbox.Undo(); // Clear the undo buffer to prevent last action from being richtextbox.ClearUndo(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |