在richtextBox中取消选择文本而不会丢失突出显示的文本c#

时间:2014-05-29 16:04:40

标签: c# richtextbox highlight

C#语言,visual studio 2010 express

是否可以取消选择richtextBox中的文本而不会丢失实际突出显示的文本?

如果我突出显示另一个选定的文本,我会丢失旧的文本,如果我选择文本的结尾,我会丢失我突出显示的所有内容。

非常感谢!!!

以下是部分代码:

(如果测试通过,我会调用此代码,我想突出显示使我的测试通过的字符串)

            int index = tb_log.Text.IndexOf(s.stringParse);

            tb_log.Select(index, s.stringParse.Length);
            tb_log.SelectionBackColor = Color.Lime;
            tb_log.SelectionColor = Color.Black;
            tb_log.SelectionFont = new Font(tb_log.Font, FontStyle.Bold);

然后为了保持用户可读的序列数据,我使用此函数滚动richtextbox的文本直到文本的结尾:

            tb_log.SelectionStart = tb_log.Text.Length;
            tb_log.SelectionLength = 0;
            tb_log.ScrollToCaret();

在此命令之后,我以绿色突出显示的旧选定文本消失。

我的目标是保持之前突出显示的文本的背景颜色,并在将来再次突出显示。

1 个答案:

答案 0 :(得分:1)

您发布的代码不会使石灰突出显示文字“unhighlight”。

我怀疑你有:

tb_log.Text += some text;

代码中的某处。这将取代所有当前格式。使用

tb_Log.AppendText(some text);

而是保留格式的丰富性。