创建NumericUpDowns数组并禁用所有这些?

时间:2017-09-14 10:15:10

标签: c# arrays winforms numericupdown

我有几个NumericUpDowns看起来像这样:

public void numericUpDown1_ValueChanged (object sender, EventArgs e){}

现在,如果其中一个达到某个值,它们都会被禁用。我这样做,使用以下代码

if(Value == 0)
{
    numericUpDown1.Enabled = false;
    numericUpDown2.Enabled = false;
    numericUpDown3.Enabled = false;
    .....
}

等等。

我的问题是:我可以在公共表单中声明一个数组,或者包含我想要禁用的所有NumericUpDowns的数据,然后禁用它们调用数组吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是.NET 3.5或更新的版本,则可以通过以下方式访问所有类型的控件:

var my controls = Controls.OfType<NumericUpDown>();

迭代通过:

foreach(var control in controls)
{
    if(controls.Where(control => control.Value == 0).Any()) 
    {
        control.Enabled = false;
    }
}