我有一个名为“NumericUpDown”的NumericIncrementPrecision控件,当我更改这个NumericUpDown的值时,几乎所有的NumericUpDown框都会更改增量:
NumericTriggerLocationX.Increment = (decimal)NumericIncrementPrecision.Value;
NumericTriggerLocationY.Increment = (decimal)NumericIncrementPrecision.Value;
[...]
NumericObjectLocationYaw.Increment = (decimal)NumericIncrementPrecision.Value;但是我有100+ NumericUpDown控件,在GroupBox中,在TabPage中,在表单中,等等。我已经尝试过了,但是没有发生任何事情:
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;
}
}
}有什么想法吗?
谢谢。
发布于 2018-04-07 17:49:09
我们需要做得更深入:
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;
}
}
}如果所有NumericUpDowns都在一个GroupBox中,那么只检查该GroupBox:
foreach (NumericUpDown nud in singleGroupBox.Controls.OfType<NumericUpDown>())
{
nud.Increment = (decimal)NumericIncrementPrecision.Value;
}https://stackoverflow.com/questions/49709895
复制相似问题