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();
在此命令之后,我以绿色突出显示的旧选定文本消失。
我的目标是保持之前突出显示的文本的背景颜色,并在将来再次突出显示。
答案 0 :(得分:1)
您发布的代码不会使石灰突出显示文字“unhighlight”。
我怀疑你有:
tb_log.Text += some text;
代码中的某处。这将取代所有当前格式。使用
tb_Log.AppendText(some text);
而是保留格式的丰富性。