Лучший контроль для рендеринга HTML - PullRequest
1 голос
/ 26 мая 2011

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

Ответы [ 2 ]

4 голосов
/ 26 мая 2011

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

string html = "<i> some text </i>";
webbrowser1.DocumentText = string.Format("<html>{0}</html>", html);
0 голосов
/ 26 мая 2011

Вы можете попробовать эту ссылку

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

InЧтобы перевести элемент управления 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...