2013-06-24 3 views
9

여기서 "텍스트를 굵게 만드는 방법"에 대한 많은 질문이 있지만 답변이 도움이되지 않는다고 생각합니다. 런타임에 서식있는 텍스트 상자가 만들어 질 수도 있습니다.서식있는 텍스트 상자 - 굵게

나는 채팅 클라이언트를 만들고 있어요, 그래서 서식있는 텍스트 상자가 라인 분할이 다음과 같이 메시지는 다음과 같습니다 는 {이름} {메시지} \ 연구 \ 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)를 선택하지만 모든 것이 굵은 글씨로 바뀌지 만 모든 것이 지나간 모든 메시지도 굵게 표시됩니다!

어떤 원인 일 수 있습니까? 미리 감사드립니다.

답변

7

이 줄은 문제가 :

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

당신은 포맷과 캐릭터의 새로운 버전으로 텍스트를 교체, 아마도 마지막 업데이트에서 굵은 글꼴을 따기입니다.

대신에서는 AppendText를 사용해보십시오 :

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

너는 천재 야! 이것은 지난 3 시간 동안 나를 당황하게하고 있었다! 고맙습니다! –

5

은 여기에 한 번 사용하는 코드입니다 :

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이를 할당하는 것이된다 적어 굵은

관련 문제