Need to enable NumericUpDown if CheckBox is check - Getting error Non-invocable member ... cannot be used like a method

Tim Word
Tim Word used Ask the Experts™
on
Upon form load code:

_checkBoxs = new[] { cbXLight, cbLight, cbMedium, cbHeavy, cbXHeavy, cbXXHeavy, cbXXXHeavy };
_minimumsNumericUpDowns = new[] { null, nLightMin, nMediumMin, nHeavyMin, nXHeavyMin, nXXHeavyMin, nXXXHeavyMin };
_maximumsNumericUpDowns = new[] { nXLightMax, nLightMax, nMediumMax, nHeavyMax, nXHeavyMax, nXXHeavyMax, null };

Open in new window


My method:

// Private Fields
private CheckBox[] _checkBoxs;
private NumericUpDown[] _minimumsNumericUpDowns;
private NumericUpDown[] _maximumsNumericUpDowns;

private void CheckBox_NumericState(object sender, EventArgs e)
{

    // disable everything
    DisableNumericUpDowns();

    // see if more than one checkbox is checked:
    var numChecked = _checkBoxs.Count(cb => cb.Checked);

    // enable things if more than one item is checked:
    if (numChecked <= 1) return;
    // find the smallest and enable its max:
    var smallest = -1;
    for (var i = 0; i < _checkBoxs.Length; i++)
    {
        if (!_checkBoxs(i).Checked) continue;
        if (!(_maximumsNumericUpDowns(i) == null))
        {
            _maximumsNumericUpDowns(i).Enabled = true;
        }
        smallest = i;
        break;
    }

    // find the largest and enable its min:
    var largest = -1;
    for (var i = _checkBoxs.Length - 1; i >= 0; i--)
    {
        if (_checkBoxs(i).Checked)
        {
            if (!(_minimumsNumericUpDowns(i) == null))
            {
                _minimumsNumericUpDowns(i).Enabled = true;
            }
            largest = i;
            break;
        }
    }

    // enable both for everything between smallest and largest:
    var tempVar = largest - 1;
    for (var i = (smallest + 1); i <= tempVar; i++)
    {
        if (!_checkBoxs(i).Checked) continue;
        if (!(_minimumsNumericUpDowns(i) == null))
        {
            _minimumsNumericUpDowns(i).Enabled = true;
        }
        if (!(_maximumsNumericUpDowns(i) == null))
        {
            _maximumsNumericUpDowns(i).Enabled = true;
        }
    }
}

Open in new window


Code to disable numerics:

private void DisableNumericUpDowns()
{
    // disable everything:
    foreach (var n in _minimumsNumericUpDowns)
    {
        if (n != null)
        {
            n.Enabled = false;
        }
    }
    foreach (var n in _maximumsNumericUpDowns)
    {
        if (n != null)
        {
            n.Enabled = false;
        }
    }
}

Open in new window


Error I get is:
Non-invocable member 'xxx' cannot be used like a method. The xxx is for each  _chechBoxs, _minimumsNumericUpDowns, and
_maximumsNumericUpDowns  in all the for-loops.  I don't understand what I am doing wrong.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Senior Developer
Commented:
Use [ ], not ( ) for arrays:

_maximumsNumericUpDowns[i] .
and anything that can be indexed directly
Tim WordNetwork Administrator

Author

Commented:
Found that before I saw your answer, but thanks for your help!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial