Windows表单应用程序 - 文本突出显示

时间:2012-10-15 14:36:46

标签: c#

我正在使用一个WFA,它有一个 ToolStripMenuItem ,它应该在textBox中搜索一个单词并突出显示它。这是突出显示的代码。

first =要突出显示的第一个索引 ,length =要突出显示的字符数。

            textBox2.SelectionStart = first;
            textBox2.SelectionLength = length;
            //scroll to the caret
            textBox2.ScrollToCaret();
一切似乎都运作良好。但是,如果鼠标光标不在textBox2内(比如在另一个textBox中)。突出显示不起作用。无论鼠标光标的位置如何,有没有办法让它工作?换句话说,有没有办法改变我的代码,使其突出显示textBox2中的文本,即使鼠标光标不在textBox2内,然后再点击 ToolStripMenuItem

P.S。值得一提的是我在VS 2010中使用c#

2 个答案:

答案 0 :(得分:2)

尝试:

textBox2.Focus();

在运行突出显示文本的代码之前。这会将输入焦点(和光标)移动到文本框

答案 1 :(得分:0)

只需使用richtextbox并更改文本的背景颜色即可。 这样,您可以一次使用多个高光,并且在用户通过鼠标点击文本框后,高亮不会丢失。此外,如果用户点击突出显示的区域,您可以保存所有位置并自动选择textpart。

您还可以显示LarsTech提到的选项,但在用户点击文本框内后,选择将会丢失。