C# Windows窗体应用程序-文本突出显示

C# Windows窗体应用程序-文本突出显示,c#,C#,我使用的是WFA,它有一个ToolStripMenuItem,用来在文本框中搜索一个单词并突出显示它。这是突出显示代码 first=要突出显示的第一个索引 ,长度=要突出显示的字符数 textBox2.SelectionStart = first; textBox2.SelectionLength = length; //scroll to the caret textBox2.ScrollToCar

我使用的是WFA,它有一个ToolStripMenuItem,用来在文本框中搜索一个单词并突出显示它。这是突出显示代码

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

            textBox2.SelectionStart = first;
            textBox2.SelectionLength = length;
            //scroll to the caret
            textBox2.ScrollToCaret();
一切似乎都很顺利。但是,如果鼠标光标不在textBox2内(比如在另一个textBox2内)。高亮显示不起作用。有没有一种方法可以使它在不考虑鼠标光标位置的情况下工作?换句话说,是否有办法更改代码,使其高亮显示textBox2中的文本,即使鼠标光标在点击ToolStripMenuItem之前不在textBox2中

另外,值得一提的是,我在VS2010中使用了c#

试试:

textBox2.Focus();

在运行突出显示文本的代码之前。这会将输入焦点(和光标)移动到文本框中,只需使用richtextbox并更改文本的背景色即可。 通过这种方式,您可以一次使用多个高光,并且在用户通过鼠标单击聚焦文本框后,高光不会丢失。此外,如果用户单击突出显示的区域,您可以保存所有帖子并自动选择textpart


您也可以像前面提到的那样显示所选内容,但是用户在文本框内单击后,所选内容将丢失。

在运行高亮显示代码之前,请尝试textBox2.Focus()!这就是我需要的!你能把这个贴出来作为答案,把它标记为解决方案吗?谢谢你的回答。遗憾的是,我被迫使用textBox,而没有使用RichtextBox的选择