Как показать содержимое HTML с RichTextBox? - PullRequest
4 голосов
/ 13 апреля 2010

Я хочу показать содержание html в моей форме. Я пытался сделать это с помощью текстового поля.

rtBox.Text = body;

но не получается.

Как показать html-содержимое в RichTextBox? Я использую VS 2008.

Ответы [ 5 ]

5 голосов
/ 13 апреля 2010

Если у вас есть содержимое HTML, вы можете использовать элемент управления WebBrowser - в противном случае вам придется преобразовать HTML в RTF для отображения в RichTextBox

4 голосов
/ 26 апреля 2013

Используйте скрытый элемент управления WebBrowser и загрузите его с нужным html-контентом. Затем выберите AllAll () из веб-браузера, Copy () и Paste () в поле richtextbox.

WebBrowser wb = new WebBrowser(); wb.Navigate("about:blank");
string url=@"http:\\....";
wb.Navigate(url);
private const int sleepTimeMiliseconds = 200;

while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Thread.Sleep(sleepTimeMiliseconds);
Application.DoEvents();
}

wb.Document.ExecCommand("SelectAll", false, null);
wb.Document.ExecCommand("Copy", false, null);
richtextbox.Paste();
2 голосов
/ 13 апреля 2010

Если вы хотите, чтобы HTMl выделял текст в RichTextBox, вы можете использовать что-то вроде this ( Подсветка синтаксиса в Rich TextBox ).
Оттуда вы можете сделать свою собственную подсветку (на основе HTML-элементов).

Вот также пример ( Расширенный RichTextBox для сохранения и загрузки файлов HTML lite )

2 голосов
/ 13 апреля 2010

RTF-кодировка отличается от HTML. Вы не можете сделать это сразу. Роуланд справедливо предложил WebBrowser контроль.

Если нет, то вам нужно написать собственный конвертер HTML в RTF или найти что-то похожее.

1 голос
/ 22 января 2013

Если вы готовы тратить деньги, элементу управления DevExpress RTF может быть присвоен HTML.

...