Cyotek.Windows.Forms.ColorPickers is a series of custom controls for Windows Forms applications that allows you to select a color. Colors can be selected via a HSL ColorWheel
, a ColorGrid
with many customisation options, a ColorEditor
for entering colors via RGB or HSL, and a ScreenColorPicker
for capturing colors from running applications.
For more information on these controls, see the articles tagged with colorpicker at cyotek.com.
This control displays a grid of colors, and supports both a primary palette, and a custom color palete. Several properties are available for configuring the appearing of the control, and there are behaviour options too, such as built in editing of colors and support for automatically adding new colors not in the primary palette.
This control displays a radial wheel of colors and allows selection from any point in the wheel. Not much in the way of customisation for this control!
A bunch of controls (inheriting from a single base) that allow selection of values via a colourful bar. Similar to the TrackBar
control you have a few options for specifying the drag handle's position and bar orientation.
This control allows the editing of a RGB or HSL color via a standard interface.
This control allows the user to pick a color from any pixel displayed on the screen.
This form puts together the previous controls in a ready to use dialog.
This is a non-GUI component that you can drop onto a form, and bind to other controls in this library. When the Color
property of one control changes, it is reflected in the others without having to lift a finger. Useful if you're creating composite displays from multiple controls.
The ColorGrid
control has Colors
and CustomColors
properties which return a ColorCollection
. These two properties make it easier as a developer to keep separate a primary palette whilst having the flexibility of custom colors, although it does complicate the control's internal logic a bit! The grid will automatically populate custom colors if you try and set the control's Color
to a value not currently defined.
As well as manually populating ColorCollection
instances, you can also load in external palette files. Paint.NET and the age old JASC 1.0 formats are currently supported.
All GUI components, with the exception of the ScreenColorPicker
include full keyboard/focus support. Many controls support SmallChange
and LargeChange
properties which influence how navigation keys are processed. Although in the case of the ColorWheel
it's not really a bonus... but that's what the ColorEditor
control is best suited for!
- XML documentation comments are incompleted
- The
ColorEditorManager
control currently allows you to bind to theLightnessColorSlider
control, but doesn't fully support it yet
- Inspiration (and some code!) was taken from Color Picker with Color Wheel and Eye Dropper
- The icon used by the demonstration is from the Crystal Project Icons
- The eye dropper png graphic is from the Momentum Glossy Icons
- DawnBringer 16 color palette
- DawnBringer 32 color palette