![]() |
Desktop Development »
Dialogs and Windows »
General
Intermediate
HTMLTextBoxBy Jay LiuProvides a user control that allows the user to edit HTML page. |
C#, Windows, .NET, Visual Studio, Dev
|
|
Advanced Search |
|
|
|
||||||||||||||||

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.
As a subclass of UserControl, HTMLTextBox mainly consists of two parts:
one ToolBar and one WebBrowser control.
The WebBrowser will enter "Edit Mode" after performing the following code.
webBrowserBody.Document.ExecCommand("EditMode", false, null);
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!
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.
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 Size | Common Font Size |
| 1 | 8 |
| 2 | 10 |
| 3 | 12 |
| 4 | 14 |
| 5 | 18 |
| 6 | 24 |
| 7 | 36 |
To avoid confusion, the Common Font Size will display for users instead of the HTML Font Size.
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.
Images: to get the unique directories of all the attached images
NOTE: the COM object "Microsoft HTML Object Library" will be referenced by HTMLTextBox.
Email Sender Example
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";
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).
General
News
Question
Answer
Joke
Rant
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 Web17 | Advertise on the Code Project |