2013-04-11 2 views
0

Я пытаюсь реализовать RichTextBox, который отображает определенные слова с форматированием. Коробка должна использоваться для новостей, поэтому такие вещи, как заголовок новостей, должны быть смелыми (и другими словами, представляющими интерес, также смелыми).C# Rich Text Box Bold

В настоящее время я использовал

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

Как предусмотрено Microsoft. Это работает. Однако, когда я использую:

TextBox1.RTF = @"{{rtf1\ansi" + my news + "}"; 

Новость появляется без разрывов строки.

Чтобы объяснить мою ситуацию, мое приложение получает новости из удаленной базы данных. Я хочу, чтобы указать, какие вещи выделены жирным шрифтом и т. Д. Из базы данных. например:

[B] Название [/ B] Вот некоторые случайные новости так взять [I] к сведению это [/ I] и [б] это тоже [/ б]

В качестве примера. Как наилучшим образом включить форматирование удаленно в мое приложение?

благодаря

+0

Дубликат Вопрос http://stackoverflow.com/questions/10383772/c-sharp- bold-a-part-of-a-string-in-a-richtextbox – Shaharyar

+0

Кроме того, для проблемы возврата каретки взгляните на [MultiLine] (http://msdn.microsoft.com/en-us/library /system.windows.forms.richtextbox.multiline.aspx) свойство – Gus

+0

@Gus: для свойства многострочного значения установлено значение True – user1662290

ответ

1

Если вы просто делаете какое-то очень простое форматирование (не вложена или что-нибудь), вы можете просто разметку исходного текста и заменить разметку с управляющими символами RTF. Например, образец ниже использует HTML для разметки текста и обменивает вне <strong> и <br /> тегов для {\b } и {\line} группы:

var my_news = "<strong>This is my title</strong><br />And this is my text"; 
my_news = my_news.Replace("<strong>", @"{\b ").Replace("</strong>", "}").Replace("<br />", @"{\line}"); 
richTextBox1.Rtf = @"{\rtf1\ansi " + my_news + "}"; 
+0

Привет Крис. Это сработало отлично! Большое спасибо! – user1662290

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