Rich text editing: RichTextBox or the HTML Editor
Windows Forms offers two practical routes to a rich text editor: the built-in RichTextBox, which stores RTF, and an HTML editor control, which stores HTML. The right choice depends on where the formatted content is used after the user saves it. This guide gives the deciding factors and the code to load and save content with the WinForms HTML Editor.

Decide by where the content goes
Formatting on screen looks the same in both controls. The difference is the format you are left holding afterwards.
| What you need | RichTextBox | WinForms HTML Editor |
|---|---|---|
| Saved format | RTF | HTML |
| Send the content as an email body | Convert RTF to HTML first | Use the saved HTML as it is |
| Show the content on a web page or in a report | Convert RTF to HTML first | Use the saved HTML as it is |
| Formatting toolbar, table and image dialogs | You build them | Included |
| Spell checking | You add it | Included |
| Mail-merge placeholders for templates | You build them | Included |
| Source view for the markup | Not applicable | Included, with a preview |
When RichTextBox is enough
Choose RichTextBox when the formatted text is written and read only inside your own application: internal notes, a comments field, a log viewer with coloured lines. RTF never has to leave the form, and a few formatting buttons cover the need.
When to choose an HTML editor
Choose the HTML Editor when the content leaves the form. Typical cases:
- Users compose email messages or reusable email templates that your application sends.
- Content is stored in a database and later shown on a website, a customer portal or a report.
- Users paste from Word or Outlook and expect the formatting to arrive intact.
- Templates carry placeholders such as a customer name that your code fills in at send time.
In each case the editor already produces the format the destination expects, so there is no conversion layer to write, test and maintain.
Load and save HTML
Add the control from NuGet (Install-Package SpiceLogic.HtmlEditor.WinForms), place it on a form, then read and write the content through BodyHtml. Use DocumentHtml when you need the complete document, including the head.
// Load the saved message into the editor
winFormHtmlEditor1.BodyHtml = template.Body;
// Save what the user wrote
template.Body = winFormHtmlEditor1.BodyHtml;
' Load the saved message into the editor
WinFormHtmlEditor1.BodyHtml = template.Body
' Save what the user wrote
template.Body = WinFormHtmlEditor1.BodyHtml
The saved string is ready to use as an email body or to store in a text column.
Next steps
- Getting started - install the package and place the editor on a form.
- Sample projects on GitHub - C# and VB.NET projects you can clone and run.
- Paste from Word and Outlook - how pasted content is cleaned.
- Mail-merge placeholders - let users build their own templates.