Wysiwyg - Editor im Eigenbau

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Radinator.

    Wysiwyg - Editor im Eigenbau

    Guten Morgen,

    ich hab zwar schon im Internet und hier gesucht, aber so richtig zufriedenstellend sind die Antworten nicht. Ich würde gerne eine Art Wysiwyg-Editor in eine Form mit einbauen, sodass der Benutzer
    einen HTML-Text schreiben kann. Der konkrete Anwendungsfall ist, dass er eine E-Mai in meinem Programm mit Formatierung schreiben kann, welche dann verschickt wird.

    Bisher habe ich nur die funktionierende Konstruktion, dass ich den CKEditor in einem Formular geladen bekomme, weil ich eine fertige HTML-Seite in einem Webbrowser-Control lade.

    VB.NET-Quellcode

    1. Dim URL As String = Replace(IO.Path.GetFullPath(".\ckeditor.html"), "\", "/")
    2. WebBrowser1.Navigate(URL)


    HTML-Quellcode

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="utf-8">
    5. <title>A Simple Page with CKEditor</title>
    6. <script src="./ckeditor/ckeditor.js"></script>
    7. </head>
    8. <body>
    9. <form>
    10. <textarea name="editor1" id="editor1" rows="10" cols="80">
    11. Lorem ipsum dolor sit amet
    12. </textarea>
    13. <script>
    14. // Replace the <textarea id="editor1"> with a CKEditor
    15. // instance, using default configuration.
    16. CKEDITOR.replace( 'editor1' );
    17. </script>
    18. </form>
    19. </body>
    20. </html>


    Ich habe dabei zwei Fragen:
    1.) Wie kann ich bspw. eine lokale HTML-Seite innerhalb des Editors laden / speichern (im Netz habe ich was vom Eingriff via DOM gehört, weiß aber nichts damit anzufangen)
    2.) Wie hole mit den HTML-Code aus dem Editor nach VB.Net um eine E-Mail zu versenden?

    Danke für die Hilfe.

    Gruß
    Axel
    Wenn du nur eine E-Mail schreiben möchtest, dann würde ich einfach eine RichTextBox nehmen, da du mit dieser Text formatieren kannst (Schriftart / -farbe / -größe...) und auch Bilder einfügen kannst. Sogar Aufzählungen sind möglich, das sollte also für eine E-Mail reichen.
    Und danach musst du halt manuell den RTF-Code in HTML-Code konvertieren.

    Das ist denke ich deutlich einfacher als deine Methode, da du so ja im Grunde eine gesamte Website in deiner Form anzeigen müsstest. Das kannst du natürlich auch machen, du musst dann halt mit JavaScript noch ein bissle rumwurschdeln...

    LG :)
    @TE:

    kurzda schrieb:

    im Netz habe ich was vom Eingriff via DOM gehört, weiß aber nichts damit anzufangen)
    DOM ist eine Spezifikation einer Schnittstelle für den Zugriff auf HTML- oder XML-Dokumente (Wikipedia).

    Wenn du mit JavaScript (oder jQuery) arbeitest, kannst du auf die Elemente per document.GetElementByID(id) in JS und über $(id) in jQuery auf Elemente zugreifen.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell