C# ColorDialog Example

Use the ColorDialog control in Windows Forms to display a color picker.
ColorDialog. This displays a color selection window. By using the ColorDialog, you can enable a visual interface for selecting a specific color.
Some options are provided through properties on this control. Using ColorDialog is much easier than any custom solution. Here we explore this control.
Example. We will add a ColorDialog to the form and then use it in some C# code. Most of the work you do with the ColorDialog will require the ShowDialog method and also the Color property.

Tip: When you invoke ShowDialog, please remember to check the DialogResult. We avoid taking an action when the dialog was canceled.

Here: In this code, we show the ColorDialog instance, and then see if the user clicked the OK button to accept.


Finally: If OK was clicked, the parent form's background color is set to the color selected in the dialog.

Example that uses ColorDialog control: C# using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Show the color dialog. DialogResult result = colorDialog1.ShowDialog(); // See if user pressed ok. if (result == DialogResult.OK) { // Set form background to the selected color. this.BackColor = colorDialog1.Color; } } } }
Properties. The ColorDialog allows you to open a more complete color picker to the right side with a button by default. If AllowFullOpen is set to False, this button is disabled.

And: If FullOpen is set to True, the full color picker is shown automatically when the ColorDialog is opened.

AnyColor and SolidColorOnly properties. These two properties are provided on the ColorDialog, but I could not detect any difference in behavior when they were set to True or False.

Note: It is possible that patterns were once available in the ColorDialog, and these properties could have been used to disable them.

CustomColors. You can acquire the custom colors in the ColorDialog that were added by the user. You can also add your own colors there with code.

Ints: This is an integer array—you can convert those integers into Color types if necessary.

A summary. ColorDialog provides the necessary functionality of a visual color picker. There are only a few useful properties on this control, such as the Color property.
Some notes. It is not worth your time to develop a custom color widget unless you are working on a graphics-oriented program. That is outside the scope of this tutorial.
Dot Net Perls
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to