c# - net - nodejs electron




winforms HTML-Editor (4)

Jeder kennt einen guten freien winforms HTML-Editor für .NET. Idealerweise möchte ich HTML- und Vorschau-Modi zusammen mit der Möglichkeit, in ein PDF, Word-Dokument oder ähnliches zu exportieren.

Obwohl ich den Export wahrscheinlich selbst aus der HTML-Ausgabe erstellen könnte.

Eine andere nette Eigenschaft wäre eine Paste aus Word, die alle zusätzlichen Tags entfernt, mit denen Sie normalerweise enden, aber wieder ist es ein schönes, keine Notwendigkeit zu haben.


Ich überlege, Writer von Lutz Roeder (von Reflector Fame) zu verwenden. Ein grundlegender HTML-Editor, der komplett in C # geschrieben wurde und mit Quellcode zur Verfügung gestellt wurde. Suchen Sie danach unter http://www.lutzroeder.com/dotnet/


Sie können das WebBrowser-Steuerelement im Entwurfsmodus mit einem zweiten WebBrowser-Steuerelement im Ansichtsmodus verwenden.

Um das WebBrowser-Steuerelement in Entwurfsmodus zu versetzen, können Sie den folgenden Code verwenden.

Dieser Code ist eine super abgespeckte Version eines WYSIWYG-Editors für eines unserer Softwareprodukte.

Erstellen Sie einfach ein neues Formular, legen Sie ein WebBrowser-Steuerelement darauf ab und fügen Sie es in form_load ein

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

siehe http://www.maconstateit.net/tutorials/JSDHTML/JSDHTML12/jsdhtml12-02.htm für einen Beispiel-HTML-Editor, der die Bearbeitung von Surports in IE verwendet.

http://www.mozilla.org/editor/midasdemo/ und http://starkravingfinkle.org/blog/wp-content/uploads/2007/07/contenteditable.htm funktioniert auch in IE und gibt Beispiele, wie man a Symbolleiste, für Schriftarten, fett, kursiv usw

Sehen Sie diese Fragen für meine Erfahrung, wenn ich so etwas in der Art versuchte.

Ich hatte auch viele andere Probleme, einschließlich schreiben Größe ändern Logik in JScript, um den HTML-Editor zu Größe zusammen mit dem WinForm-Formular und die Standard-Formular / Coontrol-Farben in den HTML-Editor, so dass es sah, schreiben, dann Benutzer geändert haben Farbschemas unter Windows.

Wenn ich das nochmal machen müsste, würde ich einen HTML-Editor von Drittanbietern verwenden (kostenlos oder kostenpflichtig)


//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;




winforms