在Richtextbox中搜索和突出显示单词的速度很慢

问题描述 投票:0回答:1

我有一个RichTextBox rtbADB,我必须在richtextbox中找到“ SDM”或“ SurfaceFlinger,然后用任何颜色突出显示(更改前景色或更改背景色)的单词。我正在使用以下代码要做同样的事情。我的代码有两个问题:

  1. [突出显示时,它会滚动浏览richtextbox的内容,但我希望突出显示不滚动内容而发生。
  2. 突出显示非常慢。我希望函数一被调用就发生。

     public void HighLightKeyWords()
      {
            string keywords = @"SDM|SurfaceFlinger";
            MatchCollection keywordMatches = Regex.Matches(rtbADB.Text, keywords);
            foreach (Match m in keywordMatches)
            {
                //rtbADB.Select(m.Index, m.Length);
                  rtbADB.SelectionStart = m.Index;
                  rtbADB.SelectionLength = m.Length;
                  rtbADB.SelectionColor = Color.Red;
            }
      }
    
c# .net winforms richtextbox
1个回答
0
投票

我正在使用Fast Colored TextBox进行语法突出显示。使用Fast Colored TextBox可以低调地在Richtextbox中构建快速搜索和突出显示单词。

© www.soinside.com 2019 - 2024. All rights reserved.