//*************************************************************************
        //  Constructor: NumericRangeColumnAutoFillUserSettingsDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="NumericRangeColumnAutoFillUserSettingsDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="NumericRangeColumnAutoFillUserSettingsDialog" /> class with a
        /// <see cref="NumericRangeColumnAutoFillUserSettings" /> object.
        /// </summary>
        ///
        /// <param name="numericRangeColumnAutoFillUserSettings">
        /// Object to edit.
        /// </param>
        ///
        /// <param name="dialogCaption">
        /// Dialog caption.
        /// </param>
        ///
        /// <param name="destinationColumnName">
        /// The name of the destination column, suitable for use as the placeholder
        /// in DestinationLabel1 and DestinationLabel2.  Can't be null or empty.
        /// Sample: "vertex opacity".
        /// </param>
        ///
        /// <param name="destinationColumnNamePlural">
        /// Plural and possibly abbreviated form of <paramref
        /// name="destinationColumnName" />, suitable for use as the placeholder in
        /// the "swap destination numbers" button.  Can't be null or empty.
        /// Sample: "Opacities".
        /// </param>
        ///
        /// <param name="minimumDestinationNumber">
        /// Minimum value of a cell in the destination column.
        /// </param>
        ///
        /// <param name="maximumDestinationNumber">
        /// Maximum value of a cell in the destination column.
        /// </param>
        //*************************************************************************

        public NumericRangeColumnAutoFillUserSettingsDialog
        (
            NumericRangeColumnAutoFillUserSettings
            numericRangeColumnAutoFillUserSettings,

            String dialogCaption,
            String destinationColumnName,
            String destinationColumnNamePlural,
            Double minimumDestinationNumber,
            Double maximumDestinationNumber
        )
            : this()
        {
            Debug.Assert(numericRangeColumnAutoFillUserSettings != null);
            Debug.Assert(!String.IsNullOrEmpty(dialogCaption));
            Debug.Assert(!String.IsNullOrEmpty(destinationColumnName));
            Debug.Assert(!String.IsNullOrEmpty(destinationColumnNamePlural));

            m_oNumericRangeColumnAutoFillUserSettings =
                numericRangeColumnAutoFillUserSettings;

            this.Text = dialogCaption;

            lblDestinationNumber1.Text = String.Format(
                DestinationLabel1
                ,
                destinationColumnName
                );

            lblDestinationNumber2.Text = String.Format(
                DestinationLabel2
                ,
                destinationColumnName
                );

            nudDestinationNumber1.Minimum = nudDestinationNumber2.Minimum =
                (Decimal)minimumDestinationNumber;

            nudDestinationNumber1.Maximum = nudDestinationNumber2.Maximum =
                (Decimal)maximumDestinationNumber;

            btnSwapDestinationNumbers.Text = "<- Swap " +
                                             destinationColumnNamePlural + " ->";

            // Instantiate an object that saves and retrieves the position of this
            // dialog.  Note that the object automatically saves the settings when
            // the form closes.

            m_oNumericRangeColumnAutoFillUserSettingsDialogUserSettings =
                new NumericRangeColumnAutoFillUserSettingsDialogUserSettings(this);

            lnkOutliersAndLogs.Tag = AutoFillWorkbookDialog.OutliersAndLogsMessage;

            DoDataExchange(false);

            AssertValid();
        }
    //*************************************************************************
    //  Constructor: NumericRangeColumnAutoFillUserSettingsDialog()
    //
    /// <overloads>
    /// Initializes a new instance of the <see
    /// cref="NumericRangeColumnAutoFillUserSettingsDialog" /> class.
    /// </overloads>
    ///
    /// <summary>
    /// Initializes a new instance of the <see
    /// cref="NumericRangeColumnAutoFillUserSettingsDialog" /> class with a
    /// <see cref="NumericRangeColumnAutoFillUserSettings" /> object.
    /// </summary>
    ///
    /// <param name="numericRangeColumnAutoFillUserSettings">
    /// Object to edit.
    /// </param>
    ///
    /// <param name="dialogCaption">
    /// Dialog caption.
    /// </param>
    ///
    /// <param name="destinationColumnName">
    /// The name of the destination column, suitable for use as the placeholder
    /// in DestinationLabel1 and DestinationLabel2.  Can't be null or empty.
    /// Sample: "vertex opacity".
    /// </param>
    ///
    /// <param name="destinationColumnNamePlural">
    /// Plural and possibly abbreviated form of <paramref
    /// name="destinationColumnName" />, suitable for use as the placeholder in
    /// the "swap destination numbers" button.  Can't be null or empty.
    /// Sample: "Opacities".
    /// </param>
    ///
    /// <param name="minimumDestinationNumber">
    /// Minimum value of a cell in the destination column.
    /// </param>
    ///
    /// <param name="maximumDestinationNumber">
    /// Maximum value of a cell in the destination column.
    /// </param>
    //*************************************************************************

    public NumericRangeColumnAutoFillUserSettingsDialog
    (
        NumericRangeColumnAutoFillUserSettings
            numericRangeColumnAutoFillUserSettings,

        String dialogCaption,
        String destinationColumnName,
        String destinationColumnNamePlural,
        Double minimumDestinationNumber,
        Double maximumDestinationNumber
    )
    : this()
    {
        Debug.Assert(numericRangeColumnAutoFillUserSettings != null);
        Debug.Assert( !String.IsNullOrEmpty(dialogCaption) );
        Debug.Assert( !String.IsNullOrEmpty(destinationColumnName) );
        Debug.Assert( !String.IsNullOrEmpty(destinationColumnNamePlural) );

        m_oNumericRangeColumnAutoFillUserSettings =
            numericRangeColumnAutoFillUserSettings;

        this.Text = dialogCaption;

        lblDestinationNumber1.Text = String.Format(
            DestinationLabel1
            ,
            destinationColumnName
            );

        lblDestinationNumber2.Text = String.Format(
            DestinationLabel2
            ,
            destinationColumnName
            );

        nudDestinationNumber1.Minimum = nudDestinationNumber2.Minimum =
            (Decimal)minimumDestinationNumber;

        nudDestinationNumber1.Maximum = nudDestinationNumber2.Maximum =
            (Decimal)maximumDestinationNumber;

        btnSwapDestinationNumbers.Text = "<- Swap " +
            destinationColumnNamePlural + " ->";

        // Instantiate an object that saves and retrieves the position of this
        // dialog.  Note that the object automatically saves the settings when
        // the form closes.

        m_oNumericRangeColumnAutoFillUserSettingsDialogUserSettings =
            new NumericRangeColumnAutoFillUserSettingsDialogUserSettings(this);

        lnkOutliersAndLogs.Tag = AutoFillWorkbookDialog.OutliersAndLogsMessage;

        DoDataExchange(false);

        AssertValid();
    }