Click here to Skip to main content
13,140,591 members (50,366 online)
Click here to Skip to main content
Add your own
alternative version


107 bookmarked
Posted 24 Jan 2007


, 24 Jan 2007
Rate this:
Please Sign up or sign in to vote.
Provides a user control that allows the user to edit HTML page.

HTMLTextBox Control


This Rich Text Editor-style control comes from a reference of the "Body Editor" in "New Message" dialog of Outlook Express. As we know, although a RichTextBox control is already provided within .NET Framework by Microsoft to display rich text for users, it still lacks in some real Rich Editing works which are extremely desirable. As a consequence, this control is right for the real editing work.

Inside HTMLTextBox

As a subclass of UserControl, HTMLTextBox mainly consists of two parts: one ToolBar and one WebBrowser control.

How to enable the WebBrowser to be editable?

The WebBrowser will enter "Edit Mode" after performing the following code.

webBrowserBody.Document.ExecCommand("EditMode", false, null);

How to overstrike your font

Perform the following code to enable the BOLD font on the selected characters.

webBrowserBody.Document.ExecCommand("Bold", false, null);

All the operations in this control are executed by invoking the function ExecCommand of WebBrowser.Document. For detailed info about ExecCommand, please refer to Microsoft MSDN.

PS: As announced by Microsoft in Command Identifiers, some of the Commands are mentioned to be no more applicable, however, they still work well. Please do not rely it 100 percent, just give a shot!

About Optional Fonts

foreach (FontFamily family in FontFamily.Families)

All the optional fonts in this control are retrieved by means of the code above.

About Font Size

In HTML page, seven types of font size are applicable (from 1 to 7). And the relationship between the HTML font size and the common font size is summarized in the following table:

HTML Font SizeCommon Font Size

To avoid confusion, the Common Font Size will display for users instead of the HTML Font Size.

How to use HTMLTextBox

As a UserControl, HTMLTextBox is very convenient for your use. And I do not override or expose too many properties or methods. By far, it just has two public properties": Text and Images. If you want more, you are free to add them by yourself for any purpose.

Text: to set or get more meaningful text, it is overridden.

  • get: return the entire HTML content including <html> and <body> etc.
  • set: set any text value and display them in this control, meanwhile, the "/r/n" will be automatically translated into <br>.

Images: to get the unique directories of all the attached images

NOTE: the COM object "Microsoft HTML Object Library" will be referenced by HTMLTextBox.

About Sample

Email Sender Example

HTMLTextBox Control

Before running Sample, the following code needs to be changed accordingly.

In lines 23 - 26 in MailSender.cs

string host = "";
int port = 25;
string userid = "jay.liu";
string password = "1111";

Loathsome BUG

The image inserted into the edit body cannot be resized, and no exception will be thrown. For now, I have no idea about the reason or solution.


First Version (1/22/2007).


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Jay Liu
China China
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionMissing File Pin
Member 117418844-Jun-15 8:32
memberMember 117418844-Jun-15 8:32 
Question在安装了IE9的机器上无法输入。 Pin
Member 791014027-Nov-12 20:07
memberMember 791014027-Nov-12 20:07 
GeneralMy vote of 5 Pin
pcs041418-Oct-12 4:27
memberpcs041418-Oct-12 4:27 
QuestionTyping does not replace selection Pin
Member 16966206-Jun-12 2:17
memberMember 16966206-Jun-12 2:17 
AnswerRe: Typing does not replace selection Pin
Member 16966206-Jun-12 6:24
memberMember 16966206-Jun-12 6:24 
Generalprevent line spacing!! Pin
ai_mueller2-Oct-10 9:56
memberai_mueller2-Oct-10 9:56 
GeneralSaving / Loading contents of Webbrowser box... Pin
M i s t e r L i s t e r20-Jul-09 19:13
memberM i s t e r L i s t e r20-Jul-09 19:13 
GeneralRe: Saving / Loading contents of Webbrowser box... Pin
jeasonzhao12-Aug-09 16:09
memberjeasonzhao12-Aug-09 16:09 
GeneralTesting if content of edit box has been modified or not Pin
M i s t e r L i s t e r18-Jul-09 6:14
memberM i s t e r L i s t e r18-Jul-09 6:14 
GeneralRe: Testing if content of edit box has been modified or not Pin
jeasonzhao12-Aug-09 16:11
memberjeasonzhao12-Aug-09 16:11 
GeneralInsert Table Pin
garudalinks2-Jan-09 9:24
membergarudalinks2-Jan-09 9:24 
GeneralRe: Insert Table Pin
Victor Lezhepekov24-Feb-09 21:36
memberVictor Lezhepekov24-Feb-09 21:36 
GeneralRe: Insert Table Pin
jeasonzhao12-Aug-09 16:05
memberjeasonzhao12-Aug-09 16:05 
AnswerRe: Insert Table Pin
Ankit___29-May-10 0:38
memberAnkit___29-May-10 0:38 
QuestionHow to do it like this Pin
recole7-Nov-08 0:50
memberrecole7-Nov-08 0:50 
AnswerRe: How to do it like this Pin
jeasonzhao12-Aug-09 16:14
memberjeasonzhao12-Aug-09 16:14 
GeneralThank You Pin
m-chaos7-May-08 1:36
memberm-chaos7-May-08 1:36 
QuestionMcDull.Windows.Forms.dll Pin
Paglia27-Nov-07 8:38
memberPaglia27-Nov-07 8:38 
GeneralInserting text to the web browser control. Pin
M. J. Jaya Chitra19-Oct-07 0:06
memberM. J. Jaya Chitra19-Oct-07 0:06 
GeneralRe: Inserting text to the web browser control. Pin
bashaalex@mail.ru5-Nov-07 4:51
memberbashaalex@mail.ru5-Nov-07 4:51 
GeneralRe: Inserting text to the web browser control. Pin
M. J. Jaya Chitra5-Nov-07 17:16
memberM. J. Jaya Chitra5-Nov-07 17:16 
GeneralRe: Inserting text to the web browser control. Pin
M. J. Jaya Chitra5-Nov-07 18:25
memberM. J. Jaya Chitra5-Nov-07 18:25 
Generalshortcutrs override Pin
urza2321-Sep-07 12:25
memberurza2321-Sep-07 12:25 
GeneralRe: shortcutrs override Pin
skunker26-Sep-07 6:00
memberskunker26-Sep-07 6:00 
GeneralDetect if edits have been made Pin
Greg Ennis31-Jul-07 17:32
memberGreg Ennis31-Jul-07 17:32 
QuestionSuppress/Disable Alert Message Pin
Nutan T.15-Jul-07 19:29
memberNutan T.15-Jul-07 19:29 
AnswerRe: Suppress/Disable Alert Message Pin
Nutan T.15-Jul-07 19:37
memberNutan T.15-Jul-07 19:37 
GeneralRe: Suppress/Disable Alert Message Pin
vishal86830-Jul-09 4:20
membervishal86830-Jul-09 4:20 
QuestionResizing Images Pin
piotrekz525-Apr-07 2:32
memberpiotrekz525-Apr-07 2:32 
QuestionSaving as MHTML? Pin
yann_lh9-Apr-07 8:33
memberyann_lh9-Apr-07 8:33 
AnswerRe: Saving as MHTML? Pin
Riz Thon8-Oct-07 0:09
memberRiz Thon8-Oct-07 0:09 
GeneralChange Background Color ?! Pin
baer99928-Mar-07 9:21
memberbaer99928-Mar-07 9:21 
AnswerRe: Change Background Color ?! Pin
Riz Thon8-Oct-07 0:06
memberRiz Thon8-Oct-07 0:06 
GeneralFile Link Pin
baer9999-Mar-07 4:54
memberbaer9999-Mar-07 4:54 
GeneralRe: File Link Pin
jeasonzhao12-Aug-09 16:01
memberjeasonzhao12-Aug-09 16:01 
QuestionHow do I turn off the Save Changes dialog box? Pin
Michael Mahon13-Feb-07 16:45
memberMichael Mahon13-Feb-07 16:45 
AnswerRe: How do I turn off the Save Changes dialog box? Pin
Leon_26-Feb-07 23:39
memberLeon_26-Feb-07 23:39 
GeneralRe: How do I turn off the Save Changes dialog box? Pin
Leon_27-Feb-07 20:52
memberLeon_27-Feb-07 20:52 
GeneralRe: How do I turn off the Save Changes dialog box? Pin
Michel Robert 20043-Jan-09 10:28
memberMichel Robert 20043-Jan-09 10:28 
AnswerRe: How do I turn off the Save Changes dialog box? Pin
piotrekz525-Apr-07 2:27
memberpiotrekz525-Apr-07 2:27 
AnswerRe: How do I turn off the Save Changes dialog box? Pin
jeasonzhao12-Aug-09 16:07
memberjeasonzhao12-Aug-09 16:07 
GeneralRegarding "Loathsome BUG" Pin
sonic_eel31-Jan-07 22:13
membersonic_eel31-Jan-07 22:13 
GeneralFont F Pin
Laurent Muller29-Jan-07 20:08
memberLaurent Muller29-Jan-07 20:08 
QuestionHow to use in Web Application Pin
Jitesh774625-Jan-07 7:08
memberJitesh774625-Jan-07 7:08 
AnswerRe: How to use in Web Application Pin
andrewlarson29-Jan-07 6:10
memberandrewlarson29-Jan-07 6:10 
GeneralRe: How to use in Web Application Pin
lemravec15-Feb-07 8:39
memberlemravec15-Feb-07 8:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.170915.1 | Last Updated 24 Jan 2007
Article Copyright 2007 by Jay Liu
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid