internal ColorPickerUserControl(bool @internal)
 {
     InitializeComponent();
     panelColor                   = ColorPanel.defaultColor;
     this.colorPanelPopUp         = new ColorPanelForm();
     this.sliderPopUp             = new ColorSliderForm();
     this.colorPanelPopUp.Columns = 18;
     ResetControl();
     Paint();
 }
        //private void colorPanelControl_ColorChanged(object sender, ColorChangedEventArgs e)
        //{
        //    this.panelColor = e.Color;
        //    Paint();
        //    OnColorChanged(e);
        //}

        private void ShowRgbSlider()
        {
            if (null == this.sliderPopUp)               // first time create slider, then let changes untouched
            {
                this.sliderPopUp = new ColorSliderForm();
            }
            Point p = new Point(this.Left, this.Bottom);
            Point q = this.PointToScreen(p);

            this.sliderPopUp.Top   = q.Y - 150;
            this.sliderPopUp.Left  = q.X - 50;
            this.sliderPopUp.Color = panelColor;
            if (DialogResult.OK == this.sliderPopUp.ShowDialog())
            {
                this.panelColor = this.sliderPopUp.Color;
                Paint();
                OnColorChanged(new ColorChangedEventArgs(panelColor));
                this.Refresh();                         // to force Tooltip and Textbox display
            }
        }