With .NET’s ColorDialog one can select the pre-defined as well as the custom colors. For some reason, if you want only the pre-defined colors to be selected. Set the AllowFullOpen to false.
private void btnSelectColor_Click(object sender, EventArgs e)
{
colorDialog1.AllowFullOpen = false;
colorDialog1.ShowDialog();
this.BackColor = colorDialog1.Color;
}
ColorDialog with custom colors