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;
this.BackColor = colorDialog1.Color;
ColorDialog with custom colors