Click here to Skip to main content
15,881,559 members
Articles / Desktop Programming / Windows Forms

Zeta HTML Edit Control

Rate me:
Please Sign up or sign in to vote.
4.94/5 (60 votes)
9 Jul 2013CPOL3 min read 211.5K   20.8K   183   83
A small wrapper class around the Windows Forms 2.0 WebBrowser control
Image 1

Introduction 

This article presents you a small wrapper class around the Windows Forms 2.0 WebBrowser control.

Features

The wrapper is no rocket science but provides some features I struggled with in the past. We use the control in several of our own (internal and external) applications, e.g. our Test Management tool

Some of the features include:

  • Enable the setting of text even when the control is not yet fully initialized
  • Allow pasting of images from the clipboard
  • Allows for resizing the images within the editor with the mouse 
  • Provide an alternative context menu for applying formatting options
  • Optionally directly edit the underlying HTML source code
  • Translated resources in English and German
  • Interface IExternalInformationProvider for externally persisting and restoring settings
  • Provide standard CSS in the control; usually you do not need to define your own CSS

Using the Code

To include the code in your own project, simply include the "ZetaHtmlEditControl.dll" assembly into your project.

Add the assembly to your Visual Studio .NET 2008 Windows Forms Designer Toolbox if you want to be able to drag the ExtendedWebBrowser control to your forms. Alternatively create and initialize an instance of the ExtendedWebBrowser control by code.

Setting HTML

To put HTML from your code into the control, assign the HTML code to the ExtendedWebBrowser.DocumentText property. You do not have to pass a complete HTML document with HEAD and BODY tags but only the actual content that you would write inside the BODY tag.

Getting the HTML 

To read out the HTML from the control, call the ExtendedWebBrowser.GetDocumentText(string folderPath) method. The method takes one parameter "folderPath" that tells the control where to store newly passed images from the clipboard. 

Summary

This article quickly introduced a wrapper around the Windows Forms 2.0 WebBrowser control that adds some extra functions to make it more usable in a real-world-application. Feel free to copy, modify or extend the control to match your own requirements.

To ask questions, suggest features or provide other comments, please use the comments section at the bottom of this article.

History

  • 2013-07-09 - You now also find the project on GitHub
  • 2013-05-20 - Images inside the edit control can now be resized proportionally to make them smaller. When persisting the images, they are actually resized on disk, too.
  • 2011-06-02 - Added support for inserting and editing tables. Added new user control that has a toolbar (see screenshot) that you can switch on and off from code.
  • 2011-03-16 - Updated for and tested with the latest Internet Explorer 9 (RTM). If you do experience AccessViolation exceptions when working with this control, please read this MSDN blog posting that suggests to add a custom build step
    "$(DevEnvDir)..\tools\vsvars32.bat"
    editbin.exe /NXCOMPAT:NO "$(TargetPath)"
  • 2011-02-26 - Update to (hopefully) make the control work with Internet Explorer 9 RC work again. See this Stack Overflow posting for details. I've included a mini web server with the control to serve the texts from this server, instead of setting it directly. It should be 100% transparent to the user of the code.
  • 2009-11-18 - First public release to CodeProject.com

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Chief Technology Officer Zeta Software GmbH
Germany Germany
Uwe does programming since 1989 with experiences in Assembler, C++, MFC and lots of web- and database stuff and now uses ASP.NET and C# extensively, too. He has also teached programming to students at the local university.

➡️ Give me a tip 🙂

In his free time, he does climbing, running and mountain biking. In 2012 he became a father of a cute boy and in 2014 of an awesome girl.

Some cool, free software from us:

Windows 10 Ereignisanzeige  
German Developer Community  
Free Test Management Software - Intuitive, competitive, Test Plans.  
Homepage erstellen - Intuitive, very easy to use.  
Offline-Homepage-Baukasten

Comments and Discussions

 
GeneralRe: My vote of 5 Pin
Uwe Keim2-Jun-11 5:43
sitebuilderUwe Keim2-Jun-11 5:43 
GeneralThis is cool Pin
Sacha Barber15-Mar-11 22:43
Sacha Barber15-Mar-11 22:43 
GeneralRe: This is cool Pin
Uwe Keim15-Mar-11 23:35
sitebuilderUwe Keim15-Mar-11 23:35 
QuestionWeb server overkill ? Pin
TrendyTim1-Mar-11 7:19
TrendyTim1-Mar-11 7:19 
AnswerRe: Web server overkill ? Pin
Uwe Keim1-Mar-11 7:41
sitebuilderUwe Keim1-Mar-11 7:41 
GeneralMy vote of 5 Pin
sam.hill26-Feb-11 7:12
sam.hill26-Feb-11 7:12 
GeneralRe: My vote of 5 Pin
Uwe Keim26-Feb-11 9:41
sitebuilderUwe Keim26-Feb-11 9:41 
GeneralRe: My vote of 5 [modified] Pin
wknopf28-Feb-11 4:42
wknopf28-Feb-11 4:42 
Uwe, downloaded your updated code, compiled and ran it (Net4.0 and VS2010) and it works fine with IE9 RC
Can you shed some light on how you fixed it? Inquiring minds like to know...
Never mind, I spotted your update and the added http server in your code.

modified on Monday, February 28, 2011 2:37 PM

GeneralRe: My vote of 5 Pin
Uwe Keim28-Feb-11 9:03
sitebuilderUwe Keim28-Feb-11 9:03 
GeneralIE9 breaks control Pin
wknopf16-Feb-11 11:23
wknopf16-Feb-11 11:23 
GeneralRe: IE9 breaks control Pin
Uwe Keim16-Feb-11 19:20
sitebuilderUwe Keim16-Feb-11 19:20 
QuestionRe: IE9 breaks control Pin
wknopf16-Feb-11 19:38
wknopf16-Feb-11 19:38 
AnswerRe: IE9 breaks control Pin
Uwe Keim16-Feb-11 19:42
sitebuilderUwe Keim16-Feb-11 19:42 
GeneralVery good! Pin
rodrigopa11-Aug-10 2:16
rodrigopa11-Aug-10 2:16 
GeneralRe: Very good! Pin
Uwe Keim11-Aug-10 2:20
sitebuilderUwe Keim11-Aug-10 2:20 
GeneralFirst of all 5 from me Pin
mheidari24-Nov-09 1:21
mheidari24-Nov-09 1:21 
GeneralRe: First of all 5 from me Pin
Uwe Keim24-Nov-09 2:47
sitebuilderUwe Keim24-Nov-09 2:47 
GeneralRe: First of all 5 from me Pin
mheidari24-Nov-09 22:14
mheidari24-Nov-09 22:14 
General5 Sterne / 5 Stars Pin
Midnight Run19-Nov-09 5:43
Midnight Run19-Nov-09 5:43 
GeneralRe: 5 Sterne / 5 Stars Pin
Uwe Keim19-Nov-09 5:49
sitebuilderUwe Keim19-Nov-09 5:49 
GeneralRe: 5 Sterne / 5 Stars Pin
Midnight Run19-Nov-09 5:55
Midnight Run19-Nov-09 5:55 
Question"Control" Project does not compile - Missing File? Pin
andre1234518-Nov-09 2:12
andre1234518-Nov-09 2:12 
AnswerRe: "Control" Project does not compile - Missing File? Pin
Uwe Keim18-Nov-09 3:11
sitebuilderUwe Keim18-Nov-09 3:11 
GeneralRe: "Control" Project does not compile - Missing File? Pin
andre1234519-Nov-09 0:53
andre1234519-Nov-09 0:53 

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.