【发布时间】:2011-09-17 02:09:32
【问题描述】:
我目前正在开发一个非常简单的应用程序,在 RichTextBox 中突出显示非常基本的语法。
它几乎可以正常工作。我正在做的是:
- 如果有一个或多个匹配项,则查找预定义正则表达式列表。
- 选择匹配项,将正确的样式应用于所选内容。
- 然后将光标替换到原来的位置。
每个 KeyUp 事件都会触发此方法。而且它会闪烁很多。
所以我的问题是:如何巧妙地突出显示我键入的文本而不会闪烁?这个编辑器永远不会包含数千行文本,最多可能有一百行,所以我还不需要任何非常优化的解决方案。
我尝试了其他帖子中提出的一些解决方案,但没有任何有趣的效果。而且我不想使用另一个库中的另一个组件——我想自己做这件事来学习。
【问题讨论】:
-
您是否尝试过使用 RenderTargetBitmap 制作它的副本,将其副本放在可视化树中的相同位置,将其从可视化树中删除,进行操作,将其放回可视化树,然后删除副本?
标签: c# .net richtextbox syntax-highlighting