2013-02-17 2 views
1

У меня есть приложение для чата, которое основано на форме и 2 richTextBoxes!Как сделать определенную часть строки Жирным шрифтом на richTextBox?

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 типа строка содержит имя, кто отправляет сообщение (пользователь с помощью приложения)

Как отобразить только имя жирным шрифтом и другой текст в обычном стиле шрифта так после ввода сообщения, я вижу

ХЕЛИЛЬ Юсфи: Здравствуйте ....

вместо

ХЕЛИЛЬ Юсфи: Привет ...

Любая помощь будет высоко оценена.

enter image description here

+0

Просто сделайте ** bold ** имя пользователя, но здесь я не вижу никакого имени пользователя. –

+0

@ SonerGönül По-видимому, Chakib Yousfi - это имя пользователя. – hattenn

ответ

1

Во-первых, вы должны выбрать текст, который вы хотите сделать смелое:

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

И тогда вы можете определить стиль для выбранного текста:

richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold); 
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); 

    } 
} 
Смежные вопросы