0

我有一个基于 Form 和 2 richTextBoxes 的聊天应用程序!

richTextBox1用于显示所有对话
richTextBox_TextToSend用于输入要发送的消息

当用户输入消息并按下回车按钮时,输入的文本将出现在richTextBox1

private void button1_Click(object sender, EventArgs e)
    {
        // insert message to database
        if(richTextBox_TextToSend.TextLength>0) {

        string txt = richTextBox_TextToSend.Text;

        // send the typed message
        sendMessage(from,to,task_id,txt);

        // show the typed text in the richTextBox1
        richTextBox1.Text += from+": "+richTextBox_TextToSend.Text+"\n";
        richTextBox_TextToSend.Clear();



        }
    }

字符串类型的变量from保存发送消息的人的名称(使用应用程序的用户)

如何仅以粗体显示名称并以正常字体样式显示其他文本,因此在键入消息后,我看到

Chakib Yousfi : Hello....

而不是

Chakib Yousfi : Hello...

任何帮助将不胜感激。

在此处输入图像描述

4

2 回答 2

2

使用此代码:

private void button1_Click(object sender, EventArgs e)
{
    // insert message to database
    if(richTextBox_TextToSend.TextLength>0) {

    string txt = richTextBox_TextToSend.Text;
    int start = richTextBox1.TextLength;
    string newMessage = from + ": " + richTextBox_TextToSend.Text + Environment.NewLine;

    // send the typed message
    sendMessage(from,to,task_id,txt);

    // show the typed text in the richTextBox1
    richTextBox1.AppendText(newMessage);
    richTextBox_TextToSend.Clear();

    richTextBox1.Select(start, from.Length);
    richTextBox1.SelectionFont = New Font(richTextBox1.Font, FontStyle.Bold);

    }
}
于 2013-02-17T15:15:56.440 回答
1

首先,您应该选择要加粗的文本:

richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = 13;

然后您可以定义所选文本的样式:

richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
于 2013-02-17T14:18:35.553 回答