Csharp/C#教程:如何在RichTextBox 中语法突出显示?分享


如何在RichTextBox 中语法突出显示?

如何在用户类型使用String []关键字的richtextbox控件中突出显示语法。 我将很快发布一个轻量级的记事本到网上,我希望它有语法高亮。 我正在使用Windows表单。 有人可以发布代码示例吗?

Scintilla控件是一个出色的源代码编辑器,包括一系列其他function中的语法突出显示。 您可以将它嵌入自己的应用程序中,并且可以使用.NET包装器 。

使用Scintilla,您可以指定关键字,然后在键入时应用语法突出显示。

您使用的是WinForms还是WPF?

如果是WPF,你可以看看AvalonEdit 。 它是免费和开源的,它在SharpDevelop(开源IDE)中使用。

您可以更改richtextbox中所选单词的字体。 看一下控件的Select和SelectedFont属性。

但实际上,您需要遍历单词,检查关键字中是否存在单词,然后使用上述属性更改字体。

不完全是你问题的答案,但你看过SharpDevelop的文本编辑器组件吗? 它非常轻量级(<200kB IIRC),可以轻松嵌入到WinForms应用程序中,并具有内置多种语言的语法高亮功能。

否则,您可能希望查看此CodeProject页面 。 它在您键入时重新格式化RTF,这对于大型文件来说效率不高,而且它包含一些令人毛骨悚然的catch (Exception) { }块,所以我不确定是否会在生命关键型应用程序中使用它,这绝对是一个很好的起点,看看它是如何完成的。

语法突出显示不是一项有效执行的简单任务。 您可以找到的许多解决方案(如涉及修改RTF的解决方案)都是一次性解决方案。 如果您想在编辑期间动态突出显示和取消突出显示单词,您的代码必须为此做好准备。 我不会重新发明轮子并使用ICSharp.TextEditor或类似解决您的问题。

上述就是C#学习教程:如何在RichTextBox 中语法突出显示?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1005480.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐