Click here to Skip to main content
Click here to Skip to main content


, 6 Jan 2006
Rate this:
Please Sign up or sign in to vote.
Building a simple WYSIWYG (What You See Is What You Get) HTML Editor in C#.

Sample Image


I have found different code samples showing how to create a visual HTML editor in ASP using a text area. However, I needed a good editor for my WinForms application, but I couldn’t find a good example. Eventually, I wrote one from scratch after I converted some MFC code I found on the net. Based on the IE Browser control, you can create a powerful editor that allows you to manipulate HTML tags visually and add any tags you want.

Using the code

The code is a simple form, and very easy to understand. In order to make it work, you first need to include two COM libraries:

  1. The Microsoft Web Control found in: c:\windows\system32\shdocvw.dll (add as a COM control).
  2. MSHTML: c:\windows\system32\MSHTML.tlb (add as a COM reference).

The reason for the tlb is that the mshtml.dll is used by the Windows system, and therefore is not accessible.

You don't need to worry about deployment: all Windows users will have these DLLs in their system directory.


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

Shlomo Schwarcz
Web Developer
Israel Israel
Shlomo had worked for several years as a software engineer and project manager, developing software for the enterprise market, in Microsoft.NET and Java J2EE environment. Before establishing Shefer’s SAP department, Shlomo worked at SAP Labs and took part of the NetWeaver and Enterprise Portal development team.
Shlomo has many years of experience with SAP customers and has also teaches official SAP courses around the world.

Comments and Discussions

GeneralMy vote of 1 PinmemberSkySoftHelper9-May-11 20:01 
GeneralCongratulations on the good work PinmemberRene.DH18-Apr-09 11:43 
Question[BR /] instead of [P/]? Pinmemberaj3212-Jun-08 15:18 
AnswerRe: [BR /] instead of [P/]? Pinmemberraiserle21-Dec-11 11:34 
QuestionCan I insert tables? PinmemberDrucik_20-Apr-08 14:02 
AnswerRe: Can I insert tables? PinmemberBITS_UK27-May-08 0:13 
Generalcopied imaged from ms word doesn't show PinmembernetJP12L23-Jan-08 12:21 
GeneralImages dont apprear when copied from Ms word PinmembernetJP12L23-Jan-08 12:15 
GeneralThanks, just what I needed Pinmembervictorbos1-Nov-07 4:21 
QuestionProblem with Deploy Different Version shdocvw.dll Pinmembersebandres20-Feb-07 6:31 
Hi!, this article is great but i have a big problem, when you reference shdocvw.dll it gets referenced to the version you have on the development machine.
On my machine i have XP with SP2 (shdocvw.dll v7.xx.xx)
and i recently installed the aplication on a windows XP without SP2 (shdocvw.dll v6.xx.xx) and when i open the form that has the editor it gives and error and asks for the version 7.xx of shdocvw.dll.
Is there a way to use the version that is available on the machine i make deploy to instead of looking for that specific version?

QuestionHow can i insert a text in a given position? Pinmemberrespiratory10126-Sep-06 12:56 
AnswerRe: How can i insert a text in a given position? PinmemberHenrik Thulin28-Jun-11 11:06 
Questionhow to change the language of the text Pinmemberalihammad28-Aug-06 5:22 
QuestionWYSIWYG WORD Pinmember123456uio9-Aug-06 4:16 
Questionwhere are html, title, head, meta tags ? PinmemberRobcast229-Jun-06 1:38 
AnswerRe: where are html, title, head, meta tags ? PinmemberRobcast229-Jun-06 5:00 
QuestionAdding Events PinmemberAbhiTheGenius13-May-06 22:50 
AnswerRe: Adding Events PinmemberShlomo Schwarcz13-May-06 23:33 
GeneralReference PinmemberDeathJester_26-Mar-06 10:50 
QuestionInvalidCastException Unhandled Pinmemberpjrinaldi18-Feb-06 19:45 
AnswerI think I know the problem PinmemberShlomo Schwarcz18-Feb-06 21:46 
QuestionRe: I think I know the problem Pinmemberpjrinaldi19-Feb-06 5:05 
AnswerRe: I think I know the problem PinmemberShlomo Schwarcz19-Feb-06 5:08 
QuestionRe: I think I know the problem Pinmemberpjrinaldi19-Feb-06 6:03 
AnswerRe: I think I know the problem Pinmemberpjrinaldi20-Feb-06 18:23 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150302.1 | Last Updated 6 Jan 2006
Article Copyright 2006 by Shlomo Schwarcz
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid