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

时间:2019-12-02 09:47:28

标签: c# .net winforms richtextbox

我有一个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;
            }
      }
    

0 个答案:

没有答案