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;
}
我有一个名为 "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;
}