We help IT Professionals succeed at work.

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

Tim Word
Tim Word asked
on
165 Views
Last Modified: 2017-03-30
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

Senior Developer
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION
Tim WordNetwork Administrator

Author

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

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions