我知道这里有很多“如何使文本加粗”的问题,但是答案都无济于事,我认为可能是在运行时创建了Rich Text Box。

我正在做一个聊天客户端,所以我有一个以行分隔的富文本框,消息如下:
{Name}:{Message}\r\n

我想加粗名称,我已经尝试了许多代码示例,但这是我所能使用的最接近的代码:

int length = textBox.Text.Length;
textBox.Text += roomChatMessage.from + ": " + roomChatMessage.text + "\r\n";
textBox.Select(length, roomChatMessage.from.Length);
textBox.SelectionFont = new Font(textBox.Font, FontStyle.Bold);

第一条消息,效果很好,名称为粗体。但是,当我添加第二条消息时,即使我第二次选择开始索引,所有内容都变为粗体(此示例为37),但所有内容都变为粗体,所有过去的消息也都变为粗体!

有什么想法会导致这种情况吗?
提前致谢!

最佳答案

这行是个问题:

textBox.Text += roomChatMessage.from + ": " + roomChatMessage.text + "\r\n";

您正在使用此新版本的字符串替换格式和文本,并且很可能从上次更新中选择了粗体字体。

尝试改用AppendText:
textBox.AppendText(roomChatMessage.from + ": " + roomChatMessage.text + "\r\n");

10-04 11:05