我有一个基于Form和2 richTextBoxes的聊天应用程序!
richTextBox1
用于显示所有对话
richTextBox_TextToSend
用于键入要发送的邮件
当用户键入消息并按Enter键时,输入的文本将出现在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();
}
}
string类型的变量from
包含发送消息的人员名称(使用该应用程序的用户)
如何仅以正常字体样式的粗体和其他文本显示名称,因此在输入消息后,我看到 Chakib Yousfi :你好.... br />
而不是
Chakib Yousfi:你好......
任何帮助都将受到高度赞赏。
答案 0 :(得分: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);
}
}
答案 1 :(得分:1)
首先,您应该选择要加粗的文字:
richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = 13;
然后您可以为所选文本定义样式:
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);