Click here to Skip to main content
6,595,854 members and growing! (18,757 online)
Email Password   helpLost your password?
Desktop Development » Dialogs and Windows » General     Intermediate

HTMLTextBox

By Jay Liu

Provides a user control that allows the user to edit HTML page.
C#, Windows, .NET, Visual Studio, Dev
Posted:24 Jan 2007
Updated:24 Jan 2007
Views:52,997
Bookmarked:88 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
26 votes for this article.
Popularity: 6.38 Rating: 4.51 out of 5
1 vote, 3.8%
1

2
1 vote, 3.8%
3
2 votes, 7.7%
4
22 votes, 84.6%
5

HTMLTextBox Control

Introduction

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)
{
    toolStripComboBoxName.Items.Add(family.Name);
}

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
18
210
312
414
518
624
736

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 = "192.168.22.12";
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.

History

First Version (1/22/2007).

License

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


Member

Location: China China

Other popular Dialogs and Windows articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 39 (Total in Forum: 39) (Refresh)FirstPrevNext
GeneralSaving / Loading contents of Webbrowser box... PinmemberM i s t e r L i s t e r20:13 20 Jul '09  
GeneralRe: Saving / Loading contents of Webbrowser box... Pinmemberjeasonzhao17:09 12 Aug '09  
GeneralTesting if content of edit box has been modified or not PinmemberM i s t e r L i s t e r7:14 18 Jul '09  
GeneralRe: Testing if content of edit box has been modified or not Pinmemberjeasonzhao17:11 12 Aug '09  
GeneralInsert Table Pinmembergarudalinks10:24 2 Jan '09  
GeneralRe: Insert Table PinmemberVictor Lezhepekov22:36 24 Feb '09  
GeneralRe: Insert Table Pinmemberjeasonzhao17:05 12 Aug '09  
GeneralHow to do it like this Pinmemberrecole1:50 7 Nov '08  
GeneralRe: How to do it like this Pinmemberjeasonzhao17:14 12 Aug '09  
GeneralThank You Pinmemberm-chaos2:36 7 May '08  
QuestionMcDull.Windows.Forms.dll PinmemberPaglia9:38 27 Nov '07  
GeneralInserting text to the web browser control. PinmemberM. J. Jaya Chitra1:06 19 Oct '07  
GeneralRe: Inserting text to the web browser control. Pinmemberbashaalex@mail.ru5:51 5 Nov '07  
GeneralRe: Inserting text to the web browser control. PinmemberM. J. Jaya Chitra18:16 5 Nov '07  
GeneralRe: Inserting text to the web browser control. PinmemberM. J. Jaya Chitra19:25 5 Nov '07  
Generalshortcutrs override Pinmemberurza2313:25 21 Sep '07  
GeneralRe: shortcutrs override Pinmemberskunker7:00 26 Sep '07  
GeneralDetect if edits have been made PinmemberGreg Ennis18:32 31 Jul '07  
QuestionSuppress/Disable Alert Message PinmemberNutan T.20:29 15 Jul '07  
AnswerRe: Suppress/Disable Alert Message PinmemberNutan T.20:37 15 Jul '07  
GeneralRe: Suppress/Disable Alert Message Pinmembervishal8685:20 30 Jul '09  
QuestionResizing Images Pinmemberpiotrekz53:32 25 Apr '07  
GeneralSaving as MHTML? Pinmemberyann_lh9:33 9 Apr '07  
GeneralRe: Saving as MHTML? PinmemberRiz Thon1:09 8 Oct '07  
GeneralChange Background Color ?! Pinmemberbaer99910:21 28 Mar '07  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 24 Jan 2007
Editor: Paul Conrad
Copyright 2007 by Jay Liu
Everything else Copyright © CodeProject, 1999-2009
Web09 | Advertise on the Code Project