Smrf.NodeXL.ExcelTemplate.DynamicFilterDialog.AddRangeTrackBarToGroupBox C# (CSharp) Метод

AddRangeTrackBarToGroupBox() защищенный Метод

protected AddRangeTrackBarToGroupBox ( NumericFilterParameters oNumericFilterParameters, String sTableName, GroupBox oGroupBox, StringBuilder oDynamicFilterConditions, Int32 iX, Int32 &iY ) : IDynamicFilterRangeTrackBar
oNumericFilterParameters NumericFilterParameters
sTableName String
oGroupBox GroupBox
oDynamicFilterConditions StringBuilder
iX Int32
iY Int32
Результат IDynamicFilterRangeTrackBar
    AddRangeTrackBarToGroupBox
    (
        NumericFilterParameters oNumericFilterParameters,
        String sTableName,
        GroupBox oGroupBox,
        StringBuilder oDynamicFilterConditions,
        Int32 iX,
        ref Int32 iY
    )
    {
        Debug.Assert(oNumericFilterParameters != null);
        Debug.Assert( !String.IsNullOrEmpty(sTableName) );
        Debug.Assert(oGroupBox != null);
        Debug.Assert(oDynamicFilterConditions != null);
        AssertValid();

        String sColumnName = oNumericFilterParameters.ColumnName;

        // Get the ranges to use for the range track bar.

        Decimal decAvailableMinimum, decAvailableMaximum,
            decSelectedMinimum, decSelectedMaximum;

        String sSelectedMinimumAddress, sSelectedMaximumAddress;

        GetRangeTrackBarRanges(oNumericFilterParameters, sTableName,
            out decAvailableMinimum, out decAvailableMaximum,
            out decSelectedMinimum, out decSelectedMaximum,
            out sSelectedMinimumAddress, out sSelectedMaximumAddress);

        // Create a range track bar appropriate for the filter parameters.

        IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar;

        if (oNumericFilterParameters is DateTimeFilterParameters)
        {
            oDynamicFilterRangeTrackBar =
                new DynamicFilterDateTimeRangeTrackBar(
                    sTableName, sColumnName);
        }
        else
        {
            oDynamicFilterRangeTrackBar = new DynamicFilterRangeTrackBar(
                sTableName, sColumnName);
        }

        // Set the range track bar's ranges and custom properties.

        oDynamicFilterRangeTrackBar.SetAvailableRange(
            decAvailableMinimum, decAvailableMaximum);

        oDynamicFilterRangeTrackBar.SetSelectedRange(
            decSelectedMinimum, decSelectedMaximum);

        oDynamicFilterRangeTrackBar.SetCustomProperties(
            oNumericFilterParameters);

        // Position the range track bar.

        Debug.Assert(oDynamicFilterRangeTrackBar is Control);

        Control oControl = (Control)oDynamicFilterRangeTrackBar;

        oControl.Location = new Point(iX, iY);
        oControl.Width = oGroupBox.Width - (2 * iX);

        oControl.Anchor = AnchorStyles.Left | AnchorStyles.Top
            | AnchorStyles.Right;

        // Make sure that a bunch of unwanted events during initialization are
        // avoided.

        Debug.Assert(!m_bHandleControlEvents);

        oDynamicFilterRangeTrackBar.SelectedRangeChanged +=
            new EventHandler(this.RangeTrackBar_SelectedRangeChanged);

        oGroupBox.Controls.Add(oControl);

        iY += oControl.Height + DynamicFilterControlBottomMargin;

        // Append a pair of conditions to the Excel conditions.

        AppendConditions(oDynamicFilterConditions, sColumnName,
            sSelectedMinimumAddress, sSelectedMaximumAddress);

        return (oDynamicFilterRangeTrackBar);
    }