呈现HTML的最佳控件

本文关键字:控件 最佳 HTML 呈现 | 更新日期: 2023-09-27 17:57:37

我需要在C#中呈现一些html文本(而不是一个带有<html><body>标记的html页面,只是一些<i><hr />之类的东西)。NET 4.0 Winforms应用程序。最好是一个类似Panel的控件,您只需打开p.HTML = "somehtml",它就会显示HTML。有人有过这样的经历吗。NET HTML呈现控件?我在代码项目上发现了这个,但我对上面的东西有点警惕。

呈现HTML的最佳控件

为什么不使用内置WebBrowser控件。您可以始终将html代码段包含在标准的<html/>标记中。

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

您可以尝试这个单链接

您可以在中使用WebBrowser控件具有第二个WebBrowser的设计模式控件设置为视图模式。

为了放置WebBrowser控件在设计模式中,可以使用以下代码。

这是一个超级精简的代码所见即所得编辑器的版本我们的软件产品。

只需创建一个新表单WebBrowser控件,并将在表单中_加载

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