web-dev-qa-db-ja.com

winforms htmlエディター

.NET用の優れた無料のwinforms htmlエディターを知っている人は誰でもいます。理想的には、HTML、プレビューモード、およびPDF、Wordドキュメントなどにエクスポートできるようにしたいと考えています。

エクスポートはおそらくhtml出力から自分で作成することができます。

もう1つの素晴らしい機能は、Wordからの貼り付けです。これにより、通常使用する余分なタグがすべて削除されますが、必須ではないのも素晴らしいことです。

30
PeteT

WebBrowser コントロールをデザインモードで使用し、2番目のWebBrowserコントロールをビューモードで設定できます。

WebBrowserコントロールをデザインモードにするには、次のコードを使用できます。

このコードは、当社のソフトウェア製品の1つ用のWYSIWYGエディターの非常に簡略化されたバージョンです。

新しいフォームを作成し、WebBrowserコントロールをドロップして、これをForm.Loadに配置するだけです。

Me.WebBrowser1.Navigate("")
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
27
Tom Anderson
//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;
9
CDS

Lutz Roeder(Reflectorの名声)によるWriterの使用を検討しています。完全にC#で記述された基本的なHTMLエディター。現状のままソースコードが提供されます。 http://www.lutzroeder.com/dotnet/ で探してください

6
Benjamin Wegman

SpiceLogic .NET WinForms HTMLエディターコントロールは無料ではありませんが、探しているすべてのものをカバーします。特に、MS Wordからの貼り付け機能は非常に効率的です。そのMS Wordの貼り付けボタンをクリックすると、クリップボードからエディターにコンテンツが貼り付けられ、MS Word固有のタグがクリーンアップされ、クリーンなXHTMLが生成されます。 MS Wordにいくつかの画像が含まれている場合、このエディターはそれらの画像も検出し、出力XHTMLにはそれらの画像の正しいパスを含む画像タグが含まれます。

https://www.spicelogic.com/Products/NET-WinForms-HTML-Editor-Control-8

enter image description here

2
Emran Hussain

iEで編集ポートを利用するサンプルHTMLエディターについては、 http://www.maconstateit.net/tutorials/JSDHTML/JSDHTML12/jsdhtml12-02.htm を参照してください。

http://www.mozilla.org/editor/midasdemo/ および http://starkravingfinkle.org/blog/wp-content/uploads/2007/07/contenteditable.htm もIEで機能し、フォント、太字、斜体などのツールバーの実行方法の例を示します


このようなものを試してみたときの私の経験については、これらの質問を参照してください。

他にも多くの問題がありました。たとえば、WinFormフォームに合わせてHTMLエディターのサイズを変更するためにjscriptでサイズ変更ロジックを記述し、デフォルトのフォーム/コントロールの色をHTMLエディターに渡して、ユーザーが変更したように見えるようにしましたWindowsの配色。

そのため、もう一度これを行う必要がある場合は、サードパーティのHTMLエディタ(無料または有料)を使用します

0
Ian Ringrose