private void ColorChooserLoad(object sender, EventArgs e) { // Turn on double-buffering, so the form looks better. SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.DoubleBuffer, true); // These properties are set in design view, as well, but they // have to be set to false in order for the Paint // event to be able to display their contents. // Never hurts to make sure they're invisible. pnlSelectedColor.Visible = false; pnlBrightness.Visible = false; pnlColor.Visible = false; // Calculate the coordinates of the three // required regions on the form. Rectangle selectedColorRectangle = new Rectangle(pnlSelectedColor.Location, pnlSelectedColor.Size); Rectangle brightnessRectangle = new Rectangle(pnlBrightness.Location, pnlBrightness.Size); Rectangle colorRectangle = new Rectangle(pnlColor.Location, pnlColor.Size); // Create the new ColorWheel class, indicating // the locations of the color wheel itself, the // brightness area, and the position of the selected color. myColorWheel = new ColorWheel(colorRectangle, brightnessRectangle, selectedColorRectangle); myColorWheel.ColorChanged += MyColorWheelColorChanged; // Set the RGB and HSV values // of the NumericUpDown controls. SetRGB(argb); SetHSV(hsv); }