一尘不染

如何从RichTextBox中选择文本,然后为其着色?

c#

我想创建一个具有简单功能的记事本之类的简单编辑器…我需要在富文本框区域中为特定单词上色。我怎样才能做到这一点?

例如:当用户写这些词时,我想将它们涂成蓝色。这些词是:forwhileiftry,等。

如何使RichTextBox选择一个特定的单词,然后为它们着色?而且,如果我想发表评论并为后面的所有内容着色//,那么如何在richtextbox中完成呢?

如何在文本框中为行编号,以便现在在编辑器中进行编码时可以使用行号?


阅读 268

收藏
2020-05-19

共1个答案

一尘不染

您可以在此处构建一些代码以实现所需的功能。

private void ColourRrbText(RichTextBox rtb)
{
    Regex regExp = new Regex("\b(For|Next|If|Then)\b");

    foreach (Match match in regExp.Matches(rtb.Text))
    {
        rtb.Select(match.Index, match.Length);
        rtb.SelectionColor = Color.Blue;
    }
}

CodeProject文章“在RichTextBox启用语法突出显示”显示了如何在RichTextBox中使用RegEx来执行语法突出显示。具体来说,请看SyntaxRichtTextBox.cs实现。

2020-05-19