.NET用の優れた無料のwinforms htmlエディターを知っている人は誰でもいます。理想的には、HTML、プレビューモード、およびPDF、Wordドキュメントなどにエクスポートできるようにしたいと考えています。
エクスポートはおそらくhtml出力から自分で作成することができます。
もう1つの素晴らしい機能は、Wordからの貼り付けです。これにより、通常使用する余分なタグがすべて削除されますが、必須ではないのも素晴らしいことです。
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
//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;
Lutz Roeder(Reflectorの名声)によるWriterの使用を検討しています。完全にC#で記述された基本的なHTMLエディター。現状のままソースコードが提供されます。 http://www.lutzroeder.com/dotnet/ で探してください
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
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エディタ(無料または有料)を使用します