//============================================================================*
        // OnColorButtonClicked()
        //============================================================================*

        private void OnColorButtonClicked(Object sender, EventArgs e)
        {
            Button ColorButton = (Button)sender;

            ColorDialog ColorDialog = new ColorDialog();

            ColorDialog.SolidColorOnly = true;
            ColorDialog.Color          = ColorButton.BackColor;
            ColorDialog.AnyColor       = true;

            DialogResult rc = ColorDialog.ShowDialog();

            if (rc == DialogResult.OK)
            {
                if (ColorButton.BackColor != ColorDialog.Color)
                {
                    //----------------------------------------------------------------------------*
                    // Aim Point Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "AimPointColorButton")
                    {
                        m_Target.AimPointColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetAimPointColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Aim Point Offset Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "OffsetColorButton")
                    {
                        m_Target.OffsetColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetOffsetColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Extremes Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "ExtremesColorButton")
                    {
                        m_Target.ExtremesColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetExtremesColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // GroupBox Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "GroupBoxColorButton")
                    {
                        m_Target.GroupBoxColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetGroupBoxColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Reticle Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "ReticleColorButton")
                    {
                        m_Target.ReticleColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetReticleColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Shot Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "ShotColorButton")
                    {
                        m_Target.ShotColor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetShotColor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Shot Forecolor
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "ShotForecolorButton")
                    {
                        m_Target.ShotForecolor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetShotForecolor = ColorDialog.Color;
                        }

                        ColorButton.BackColor     = ColorDialog.Color;
                        ShotColorButton.ForeColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Scale Back Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "CalibrationBackcolorButton")
                    {
                        m_Target.ScaleBackcolor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetScaleBackcolor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Scale Fore Color
                    //----------------------------------------------------------------------------*

                    if (ColorButton.Name == "CalibrationForecolorButton")
                    {
                        m_Target.ScaleForecolor = ColorDialog.Color;

                        if (!TargetOnlyCheckBox.Checked)
                        {
                            m_DataFiles.Preferences.TargetScaleForecolor = ColorDialog.Color;
                        }

                        ColorButton.BackColor = ColorDialog.Color;
                        CalibrationBackcolorButton.ForeColor = ColorDialog.Color;
                    }

                    //----------------------------------------------------------------------------*
                    // Redraw Target Calculator image with new colors
                    //----------------------------------------------------------------------------*

                    m_TargetForm.ResetBitmaps();
                }
            }
        }