问题描述
任何人都知道一个很好的免费 winforms html 编辑器为.NET 。理想情况下,我希望 html 和预览模式以及导出到 pdf,word 文档或类似文件的可能性。
虽然导出我可能会从 html 输出创建自己。
另一个不错的功能将是一个粘贴从字,删除所有额外的标签,你通常最终,但再次,这是一个很好的没有要求。
最佳解决思路
您可以在设计模式下使用 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
次佳解决思路
我正在考虑使用 Lutz Roeder 的 Writer(反射器名声) 。一个基本的 Html 编辑器完全写在 C#中,为源代码提供了 as-is 。在 http://www.lutzroeder.com/dotnet/寻找
第三种解决思路
//CODE in C#
webBrowser1.Navigate("about:blank");
Application.DoEvents();
webBrowser1.Document.OpenNew(false).Write("<html><body><div id="editable">Edit this text</div></body></html>");
foreach (HtmlElement el in webBrowser1.Document.All)
{
el.SetAttribute("unselectable", "on");
el.SetAttribute("contenteditable", "false");
}
webBrowser1.Document.Body.SetAttribute("width", this.Width.ToString() + "px");
webBrowser1.Document.Body.SetAttribute("height", "100%");
webBrowser1.Document.Body.SetAttribute("contenteditable", "true");
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "On", null);
webBrowser1.IsWebBrowserContextMenuEnabled = false;
第四种思路
SpiceLogic .NET Win HTML 编辑器控件,不是免费的,但它涵盖了您正在寻找的所有内容。特别是从 MS Word 粘贴功能是非常有效的。单击该 MS Word 粘贴按钮将粘贴从剪贴板的内容到编辑器,并清理 ms 字特定的标签,并生成干净的 XHTML 。如果 MS Word 包含一些图像,该编辑器也会检测到这些图像,输出 XHTML 将包含图像标记,并为这些图像提供正确的路径。
https://www.spicelogic.com/Products/NET-Win-HTML-Editor-Control-8
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。