c# - 在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;
}
}
解决方案
尝试使用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);
}
}
推荐阅读
- c++ - 如何仅显示文件中的一个帐户?
- c# - Unity 2d 自上而下 RPG 风格,如何使用图层顺序排序处理瓷砖地图
- python - 如何在 Keras 中对简历段进行分类?
- c# - 从 Razor 页面中的数据库模型填充 TreeView
- graphql - 无法返回 null 或不可为 null 的字段 User.Role 无法从 prisma 突变中检索关系数据
- python - Matplotlib 使用滑块滚动图表时更新图表的更有效方式?
- javascript - 如何在其中插入一个javascript变量
- java - 使用 Scanner 类为构造函数变量获取用户输入
- php - 按一个数组的值对具有相同键的 2 个子数组进行排序
- swashbuckle - 如何删除此工件