Como mostrar o conteúdo de html com um RichTextBox?
quero mostrar o conteúdo html na minha forma. Tentei com uma caixa de texto Rica.
rtBox.Text = body;
Mas falha.
Como mostrar o conteúdo de html no RichTextBox? Estou a usar VS 2008.
5 answers
Se você tem conteúdo HTML, você pode usar o WebBrowser
controle - caso contrário, você terá que converter o HTML para RTF para processar a RichTextBox
Use umescondido controlo WebBrowser e carregue-o com o conteúdo html que deseja. Then SelectAll () from the WebBrowser, Copy (), and Paste () into the 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();
A codificação RTF é diferente do HTML. Não podes fazer isto imediatamente. Rowland sugeriu, com razão, o controlo {[[0]}.
Se não, então você precisa escrever o seu próprio HTML para o Conversor RTF ou encontrar algo semelhante.
Se quiser texto seleccionado em HTMl no RichTextBox, poderá usar algo como Isto (realce de sintaxe no Rich TextBox ).
A partir daí você pode fazer o seu próprio realce (baseado nos elementos html).
Se você está disposto a gastar dinheiro, o Controle DevExpress RTF pode ser dado HTML.