gpt4 book ai didi

C# 富文本框 : Highlighting + Undo

转载 作者:行者123 更新时间:2023-11-30 12:51:48 25 4
gpt4 key购买 nike

我正在做一个带有语法高亮显示的简单 xhtml 编辑器。问题是在 richtextbox 撤消历史中存储了所有内容。甚至我的突出显示也发生了变化。我已经发现有一个 richtextbox.UndoActionName 如果您以编程方式更改 richtextbox,它应该是“Unknown”。所以当按下 ctrl+z 时我尝试了这样的事情:

while(richtextbox.CanUndo && richtextbox.UndoActionName == "Unknown"){
richtextbox.Undo();
}

它只是选择了我的整个文本,实际上并没有撤消任何内容(只是一直循环直到我停止它......)。所以我的问题是我是否需要自己在某个地方指定 undoactionname,或者我是否可以更改 richtextbox 以记录仅用于键入的撤消历史记录?谢谢。

编辑: 如果我可以向 richtextbox 发送消息以在我突出显示时停止记录撤消历史记录或以某种方式排除或具有未知名称的操作,那会很酷,有什么办法吗这个?

编辑 2: 好吧,我采用了愚蠢的方式,我将整个文本存储在链接列表中,重做时我清除了 richtextbox 并用列表中的最后一项填充它,然后然后重新突出显示。也许这对任何人都有帮助

最佳答案

问题是您正在尝试撤消上一个操作,这将是对下一个操作的撤消,因此它将继续这样做。

试试这个:

while(richtextbox.CanUndo) {
richtextbox.Undo();
// Clear the undo buffer to prevent last action from being
richtextbox.ClearUndo();
}

关于C# 富文本框 : Highlighting + Undo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6014182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com