C# 更改 NumericUpDown.Increment Foreach NumericUpDown Inside GroupBox Inside Other GroupBox (Children)

C# Change NumericUpDown.Increment Foreach NumericUpDown Inside GroupBox Inside Other GroupBox (Children)

我有一个名为 "NumericIncrementPrecision" 的 NumericUpDown 控件,当我更改此 NumericUpDown 的值时,几乎所有 NumericUpDown 框都会更改增量:

NumericTriggerLocationX.Increment = (decimal)NumericIncrementPrecision.Value;
NumericTriggerLocationY.Increment = (decimal)NumericIncrementPrecision.Value;
[...]
NumericObjectLocationYaw.Increment = (decimal)NumericIncrementPrecision.Value;

但我有 100 多个 NumericUpDown 控件,在 GroupBox 内,在 TabPage 内,在 Form 内,等等。我已经试过了,但没有任何反应:

foreach (Control c in TabEditor.Controls)
{
    foreach (Control childc in c.Controls)
    {
        if (childc is NumericUpDown)
        {
            NumericUpDown test = (NumericUpDown)childc;
            test.Increment = (decimal)NumericIncrementPrecision.Value;
        }
    }
}

有什么想法吗?

谢谢。

我们需要更深入:

foreach (Control c in TabEditor.Controls)
{
    // c will be a TabPage
    foreach (Control childc in c.Controls)
    {
        // childc is a control inside TabPage, e.g GroupBox
        foreach (NumericUpDown nud in childc.Controls.OfType<NumericUpDown>())
        {
            nud.Increment = (decimal)NumericIncrementPrecision.Value;
        }
    }
}

如果所有 NumericUpDown 都在一个 GroupBox 中,则仅检查该 GroupBox:

foreach (NumericUpDown nud in singleGroupBox.Controls.OfType<NumericUpDown>())
{
    nud.Increment = (decimal)NumericIncrementPrecision.Value;
}