任何人都知道.NET的一个好的免费winforms html编辑器.理想情况下,我想要html和预览模式以及导出到pdf,word doc或类似的可能性.
虽然导出我可能会从html输出创建自己.
另一个不错的功能是从单词粘贴,删除你通常最终得到的所有额外标签,但再次,没有必要的很好.
您可以在设计模式下使用WebBrowser控件,WebBrowser
在视图模式下使用第二个控件集.
为了将WebBrowser
控件置于设计模式,您可以使用以下代码.
此代码是我们的软件产品之一的WYSIWYG编辑器的超级精简版本.
只需创建一个新表单,删除一个WebBrowser
控件,然后将其放在Form.Load中:
Me.WebBrowser1.Navigate("")
Application.DoEvents()
Me.WebBrowser1.Document.OpenNew(False).Write("Edit this text")
'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
//CODE in C# webBrowser1.Navigate("about:blank"); Application.DoEvents(); webBrowser1.Document.OpenNew(false).Write("Edit this text"); 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;
我正在考虑使用Lutz Roeder的作家(Reflector成名).一个完全用C#编写的基本Html编辑器,提供源代码.在http://www.lutzroeder.com/dotnet/上查找