2011-05-26 4 views
1

У меня есть необходимость сделать некоторые HTML текст (не HTML-страницу с <html> и <body> теги и все, только некоторые <i> х и <hr /> с и прочее) в приложении в C# .NET 4.0 WinForms. Предпочтительно, чтобы это было Panel-подобным элементом управления, на котором вы могли бы только p.HTML = "somehtml", и он отобразил бы HTML. Кто-нибудь имел опыт работы с инструментами рендеринга .NET HTML, которые они могли бы порекомендовать? Я нашел this на codeproject, но я немного насторожился.Лучший контроль для рендеринга HTML

ответ

4

Почему бы не использовать сборку WebBrowser control. Вы всегда можете заключить свой html-фрагмент в стандартную разметку <html/>.

string html = "<i> some text </i>"; 
webbrowser1.DocumentText = string.Format("<html>{0}</html>", html); 
0

Вы можете попробовать это один link

Вы можете использовать элемент управления WebBrowser в расчетном режиме со вторым управлением WebBrowser установлен в режиме просмотра.

Для того, чтобы установить режим управления WebBrowser в режиме разработки, вы можете использовать следующий код .

Этот код является сверхразделенным версией редактора WYSIWYG для одного из наших программных продуктов.

Просто создайте новую форму, падение контроль WebBrowser на него, и поставить этот в Form_Load

Me.WebBrowser1.Navigate("about:blank") 
Application.DoEvents() 
Me.WebBrowser1.Document.OpenNew(False).Write("<html><body><div id=""editable"">Edit this text</div></body></html>") 

'turns off document body editing 
For Each el As HtmlElement In Me.WebBrowser1.Document.All 
    el.SetAttribute("unselectable", "on") 
    el.SetAttribute("contenteditable", "false") 
Next 

'turns on editable div editing 
With Me.WebBrowser1.Document.Body.All("editable") 
    .SetAttribute("width", Me.Width & "px") 
    .SetAttribute("height", "100%") 
    .SetAttribute("contenteditable", "true") 
End With 

'turns on edit mode 
Me.WebBrowser1.ActiveXInstance.Document.DesignMode = "On" 
'stops right click->Browse View 
Me.WebBrowser1.IsWebBrowserContextMenuEnabled = False 
Смежные вопросы