渲染 HTML 的最佳控件

发布于 2024-11-09 11:48:05 字数 396 浏览 0 评论 0原文

我需要渲染一些 html 文本(不是带有 标记的 html 页面以及所有内容,只是一些 C# .NET 4.0 Winforms 应用程序中的 ;


等)。最好是一个类似 Panel 的控件,您只需 p.HTML = "somehtml" 即可显示 HTML。有没有人有过可以推荐的 .NET HTML 渲染控件的经验?我在 codeproject 上发现了 this 但我对上面的东西有点警惕那里。

I have the need to render some html text (not an html page with <html> and <body> tags and everything, just some <i>'s and <hr />s and stuff) in a C# .NET 4.0 Winforms application. Preferably it would be a Panel-like control that you could just p.HTML = "somehtml" on and it would display HTML. Has anyone had any experience with .NET HTML rendering controls that they could recommend? I found this on codeproject but I'm a little wary of stuff on there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄离 2024-11-16 11:48:05

为什么不使用 WebBrowser 控件中的构建。您始终可以将 html 片段包含在标准 标记中。

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

Why not use the build in WebBrowser control. You can always enclose your html snippet in standard <html/> markup.

string html = "<i> some text </i>";
webbrowser1.DocumentText = string.Format("<html>{0}</html>", html);
灯角 2024-11-16 11:48:05

您可以尝试这个链接

您可以在以下位置使用 WebBrowser 控件
使用第二个 Web 浏览器的设计模式
控件设置为视图模式。

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

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

只需创建一个新表单,删除一个
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

You can try this one link

You can use the WebBrowser control in
design mode with a second WebBrowser
control set in view mode.

In order to put the WebBrowser control
in design mode, you can use the
following code.

This code is a super stripped down
version of a WYSIWYG editor for one of
our software products.

Simply create a new form, drop a
WebBrowser control on it, and put this
in the 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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文