2013-06-24 11 views
9

ここでは「テキストを太らせる方法」がありますが、答えのどれも役に立たないと思うので、実行時にリッチテキストボックスが作成されている可能性があります。リッチテキストボックス - 太字

私はチャットクライアントを作ってるんだ、私はリッチテキストボックスが行に分割していると、次のようにメッセージがある:私はボールデンしたい{メッセージ} \ 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); 

最初のメッセージは、それは完全に正常に動作し、名前が太字です。しかし、私が2番目のメッセージを追加すると、2番目の回でも開始インデックス(この例は37です)が選択されていますが、すべてが太字になります。

何が原因で起こりますか? ありがとうございます!

答えて

7

この行は問題です:

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

あなたは、文字列のこの新しいバージョンでの書式とテキストを交換する、そしておそらく最後の更新から太字フォントを拾っています。

代わりのappendTextを使用してみてください:

textBox.AppendText(roomChatMessage.from + ": " + roomChatMessage.text + "\r\n"); 
+0

あなたは先生、天才です!これは過去3時間私を困惑させている!ありがとうございました! –

5

は、ここで私は1時間に使用されるいくつかのコードです:

var sb = new StringBuilder(); 
     sb.Append(@"{\rtf1\ansi"); 
     sb.Append(@"\b Name: \b0 "); 
     sb.Append((txtFirstName.Text); 
     sb.Append(@" \line "); 
     sb.Append(@"\b DOB: \b0 "); 
     sb.Append(txtDOBMonth.Text); 
     sb.Append(@" \line "); 
     sb.Append(@"\b ID Number: \b0 "); 
     sb.Append(txtIdNumber.Text); 
     sb.Append(@" \line \line "); 
     sb.Append(@"}"); 

rtxtRequest.Rtf = sb.ToString(); 

あなたが追加した場合@ "\ RTF1 ANSI \" あなたは、文字列内で大胆宣言するために、\ bと\のB0を使用することができます。そして、\ lineは新しい行を作成します。また、アンダーラインなどを行うこともできます。このように、プロパティを適用するよりも簡単にStringを構築することができました。

+0

他の事で、.textのことではありません。ご協力いただきありがとうございます! – Chad

9
ObjRichTextBox.SelectionFont = new Font(ObjRichTextBox.Font, FontStyle.Bold); 

ObjRichTextBox.AppendText("BOLD TEXT APPEARS HERE"); 

ObjRichTextBox.SelectionFont = new Font(ObjRichTextBox.Font, FontStyle.Regular); 

ObjRichTextBox.AppendText("REGULAR TEXT APPEARS HERE"); 

ホープ、このことができます:)

2

Visual Studioで、あなたがこの短いコードを使用することができます:

richTextBox1.Rtf = @"{\rtf1\ansi This is in \b bold\b0.}"; 

それは次のようになります。

これは、あなたが.RTFにこれを割り当てることであるのノートを作るために大胆