C# RichTextBox 类的文本框中添加字符串的颜色显示问题

现在做的软件有个透传界面,可以显示接受和发送出去的透传数据。
我现在设计的是接受到的数据用红色显示,发送出去的数据用蓝色显示,但是遇到一个问题:
当我把光标放在红色的数据中时,当又接收到了一帧数据后,新显示出的接受数据不是红色的,而是黑色的。
但是光标放到所有显示的字符串末尾就不会出现这个问题
补充下,光标不管是重新放到字符串末尾还是下一行,新接收到的数据都是红色的,这个时候光标就自动显示在新的一行起始处,以后接受到的数据就是正常的红色了

第1个回答  2013-07-05

你把代码贴出来看看吧,我这里没有问题,颜色不会跟鼠标位置有关系

第2个回答  推荐于2016-04-18
        需要插入的字符和颜色
        void RichShow(string Contxt, Color color)
        {
            richTextBox1.SelectionColor = color;
            richTextBox1.AppendText(Contxt + "\n");
        }

追问

我也是这么写的,但是就是会出现我说的那个问题

追答

饿 这个事情没遇到过 你从新开个程序测试一下显示代码

本回答被提问者采纳
第3个回答  2018-06-25

今天遇到同样的问题,也测试了好一会。

解决方法:最后将插入点一直放置在最末尾了。

RichTextBoxLog.SelectionStart = RichTextBoxLog.Text.Length;
RichTextBoxLog.ScrollToCaret();
RichTextBoxLog.SelectionColor = Color.Red;
RichTextBoxLog.AppendText(text);

相似回答