首页 > 解决方案 > 在devexpress的富编辑控件中搜索一个词

问题描述

我想在富编辑控件中搜索一个单词。我会在文本框中写一个词,然后点击一个名为搜索按钮的按钮,然后搜索到的词会在富编辑控件中突出显示。

我怎么解决这个问题?

在富文本框中,我们使用RichTextBox.TextLength,但富编辑控件不支持此功能。

private void button2_Click(object sender, EventArgs e)  //Search button
{
    int index = 0;
    while(index <= richEditControl1.Text.LastIndexOf(textBox1.Text))
    {
        richEditControl1.Find(textBox1.Text, index, richEditControl1.TextLength, RichTextBoxFinds.None);
        richEditControl1.SelectionBackColor = Color.IndianRed;
        index = richEditControl1.Text.IndexOf(textBox1.Text, index) + 1;
    }
} 

标签: c#winformsdevexpress-windows-ui

解决方案


尝试使用StartSearch方法。像这样的东西。

private void SearchRTF(string mytext) {
  var result = myRichEditControl.Document.StartSearch(mytext);
  if (result.FindNext()) {
    var section = myRichEditControl.Document.BeginUpdateCharacters(result.CurrentResult);
    section.ForeColor = System.Drawing.Color.White;
    section.BackColor = System.Drawing.Color.Blue;
    myRichEditControl.Document.EndUpdateCharacters(section);
  }
}

推荐阅读