【问题标题】:Handling Undo and redo in a rich text box在富文本框中处理撤消和重做
【发布时间】:2011-05-19 04:49:19
【问题描述】:

我扩展了一个富文本框来进行语法高亮,利用富文本框类提供的选择功能。然而,在这个过程中,我失去了在文本框上处理撤消和重做的能力。当我撤消时,它所做的只是选择我以编程方式选择并突出显示的最后一个单词。

是否有处理这种情况的解决方案,我想要撤消/重做功能以及选择文本块和更改背景颜色等的能力?

干杯

红龙

【问题讨论】:

    标签: c# richtextbox


    【解决方案1】:

    听起来你的设计有缺陷。

    对于语法突出显示,最好将文本和格式分开。通过像您所做的那样将它们混合在一起,您使实施撤消变得非常困难。您不能再依赖控件来执行此操作,因为您将文本编辑与格式编辑混为一谈。

    您是否考虑过使用像 Scintilla 这样的东西,而不是尝试再次解决这个问题?

    【讨论】:

    • 不行,我没用过 Scintilla,我试试看。但我希望开发自己的轻量级语法高亮 IDE,但如果无法撤消或重做,则没有任何进展!
    • 你建议我怎么做。
    • 我会使用 ScintillaNet 包装器。除非您需要更多功能的控件,否则我认为尝试编写自己的版本没有意义。
    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2018-09-12
    相关资源
    最近更新 更多