【发布时间】:2016-06-22 01:21:20
【问题描述】:
如果在 textBox1 中输入例如:Form1 然后我会得到很多结果,它会用黄色突出显示这个结果。
但是当我复制粘贴到 textBox1 时,一些文本不仅是 Form1,例如:
if ((null != _FileProcessingWorker) && (_FileProcessingWorker.IsBusy))
{
_FileProcessingWorker.CancelAsync();
}
然后它不会将其着色为黄色。由于某种原因,它仅适用于单个单词/字符串,但不适用于文本块。
void lvnf_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListViewCostumControl.lvnf.SelectedItems.Count > 0)
{
richTextBox1.Text = File.ReadAllText(
ListViewCostumControl.lvnf.Items[
ListViewCostumControl.lvnf.SelectedIndices[0]
].Text);
int start = richTextBox1.SelectionStart;
int startIndex = 0;
int index = 0;
string word = textBox1.Text;
Color selectionColor = richTextBox1.SelectionColor;
while ((index = richTextBox1.Text.IndexOf(word, startIndex)) != -1)
{
richTextBox1.Select(index, word.Length);
richTextBox1.SelectionColor = Color.Yellow;
startIndex = index + word.Length;
}
richTextBox1.SelectionStart = start;
richTextBox1.SelectionLength = 0;
richTextBox1.SelectionColor = selectionColor;
}
}
【问题讨论】: