Click here to Skip to main content
11,935,012 members (50,767 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


92 bookmarked

Zeta Color Editor

, 4 Jan 2009 CPOL
Rate this:
Please Sign up or sign in to vote.
A flexible color selection control/form for Windows Forms 2.0


WTF - yet another color picker control? Yes!

For the latest version of our Desktop CMS "Zeta Producer Desktop 8", I was in need to allow the user selecting colors.

The reason why I decided to develop my own color picker was that after having used some other color picker controls in the past, none of them finally matched 100% of my needs. So I ended up developing my very own version (nearly) from scratch.

Therefore my color picker probably does not fit 100% for your requirements. But at least if I can give you a basis that you can build on and extend, I am already very happy!


The color picker comes either as a stand-alone form to show, or it comes as a control to embed into your own forms. The example included also contains property grid editor to allow for in-place editing of colors in a standard PropertyGrid control.

Basically, I wanted to have a great looking control and also a reasonably understandable code behind (i.e. no quickly hacked together features). I really hope I have achieved these goals.

The Zeta Color Editor library comes with English and German translations. It is easy to add your own, especially if you use a tool like this one.

The following features are included.

Custom Colors

The first tab in the form/control.

Allows your users to select a color from a color palette by dragging the two cursors (cross and arrow), directly entering in RGB or HSL color space or entering the HTML color code

Web Colors

This is the second tab in the form/control.

Shows named colors and lets the user select one of them.

Browser-safe Colors

This is the third tab in the form/control.

Allows the user to select browser-safe colors.

System Colors

The fourth tab in the form/control.

Shows all system-known named colors for the different UI elements of Windows.


This is the fifth and last tab in the form/control.

With the concept of schemes, you as the developer are able to provide an arbitrary number of additional lists of colors (the so called "schemes") to the Zeta Color Editor library.

Inside our Zeta Producer application, we have a number of different layouts, each of which has its own custom palette. With the help of schemes, we enable the users to select from the different palettes of the different layouts.

So the scheme concept allows you to flexibly extend the color picker.

Using the Code

The download above contains the library as well as a small example project:

The example project shows you how to easily integrate the library into your own projects.

For example, the following code is the complete content of the Click handler of the example project:

private void launchColorEditorButton_Click( object sender, EventArgs e )
    using ( var form = new ColorEditorForm() )
        // Must set the extender _first_, since it helps in lookup
        // of the selected color.
        form.ExternalColorEditorInformationProvider = new ExternalTestProvider();
        form.SelectedColor = colorPanel.BackColor;

        if ( form.ShowDialog( this ) == DialogResult.OK )
            colorPanel.BackColor = form.SelectedColor;

Simply create an instance of the ColorEditorForm, passing initial properties and an (optional) provider for the color schemes and call the ShowDialog method.

If the form was closed with the "OK" or the "No color" button, the ShowDialog method returns DialogResult.OK. Read the SelectedColor property of the form to retrieve the color.


Although the features perfectly fit the need for color selection in our applications, there are probably (important) features missing.

If you can think of great features, please tell me about them! Simply write a comment in the comment section at the bottom of this page. Thank you!


  • 2009-01-04
    • First release of the article


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


About the Author

Uwe Keim
Chief Technology Officer Zeta Producer Desktop CMS
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.

In his free time, he does climbing, running and mountain biking. Recently he became a father of a cute boy.

Some cool, free software from us:

German Developer Community  
Free Test Management Software - Intuitive, competitive, Test Plans. Download now!  
Homepage erstellen - Intuitive, very easy to use. Download now!  
Send large Files online for free by Email

You may also be interested in...

Comments and Discussions

GeneralMy vote of 5 Pin
Montasser Ben Ouhida6-Mar-12 6:20
memberMontasser Ben Ouhida6-Mar-12 6:20 
GeneralA tiny change Pin
Xmen W.K.19-Jul-10 4:07
memberXmen W.K.19-Jul-10 4:07 
GeneralRe: A tiny change Pin
Uwe Keim19-Jul-10 4:16
mvpUwe Keim19-Jul-10 4:16 
GeneralVery Nice Pin
Xmen W.K.18-Jul-10 8:40
memberXmen W.K.18-Jul-10 8:40 
GeneralRe: Very Nice Pin
Uwe Keim18-Jul-10 8:41
mvpUwe Keim18-Jul-10 8:41 
GeneralRe: Very Nice Pin
Xmen W.K.18-Jul-10 8:41
memberXmen W.K.18-Jul-10 8:41 
GeneralRe: Very Nice Pin
Uwe Keim18-Jul-10 8:43
mvpUwe Keim18-Jul-10 8:43 
GeneralVery Good Pin
bluealert45531-Mar-09 17:08
memberbluealert45531-Mar-09 17:08 
GeneralOne problem regarding the speed Pin
Seraph_summer21-Feb-09 0:10
memberSeraph_summer21-Feb-09 0:10 
GeneralRe: One problem regarding the speed Pin
Uwe Keim21-Feb-09 0:14
sitebuilderUwe Keim21-Feb-09 0:14 
GeneralRe: One problem regarding the speed Pin
Seraph_summer21-Feb-09 1:23
memberSeraph_summer21-Feb-09 1:23 
GeneralRe: One problem regarding the speed Pin
BoBsEd23-Oct-09 15:08
memberBoBsEd23-Oct-09 15:08 
GeneralRe: One problem regarding the speed Pin
Uwe Keim24-Oct-09 1:27
sitebuilderUwe Keim24-Oct-09 1:27 
General5 stars from me Pin
rspercy5815-Feb-09 7:09
memberrspercy5815-Feb-09 7:09 
GeneralRe: 5 stars from me Pin
Uwe Keim15-Feb-09 7:15
sitebuilderUwe Keim15-Feb-09 7:15 
GeneralVery nice, found a small bug. Pin
ESTAN13-Jan-09 10:38
memberESTAN13-Jan-09 10:38 
GeneralRe: Very nice, found a small bug. Pin
Uwe Keim13-Jan-09 11:00
sitebuilderUwe Keim13-Jan-09 11:00 
GeneralNice job. Thanks Pin
PCoffey12-Jan-09 9:56
memberPCoffey12-Jan-09 9:56 
GeneralRe: Nice job. Thanks Pin
Uwe Keim12-Jan-09 10:00
sitebuilderUwe Keim12-Jan-09 10:00 
GeneralGood job Pin
Dr.Luiji5-Jan-09 4:14
memberDr.Luiji5-Jan-09 4:14 
GeneralRe: Good job Pin
Uwe Keim5-Jan-09 4:21
sitebuilderUwe Keim5-Jan-09 4:21 
GeneralRe: Good job Pin
Dr.Luiji5-Jan-09 4:59
memberDr.Luiji5-Jan-09 4:59 
GeneralExcellent work Pin
Daniel Vaughan4-Jan-09 12:00
mvpDaniel Vaughan4-Jan-09 12:00 
GeneralRe: Excellent work Pin
Uwe Keim4-Jan-09 20:32
sitebuilderUwe Keim4-Jan-09 20:32 
GeneralVery cool Uwe Pin
Sacha Barber4-Jan-09 10:18
mvpSacha Barber4-Jan-09 10:18 

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.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.151126.1 | Last Updated 4 Jan 2009
Article Copyright 2009 by Uwe Keim
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid