我正在尝试找到一种方法来循环遍历我的数字,例如将一个值添加到 numericupdown 然后重新循环到下一个NumericUpDown给它另一个值,以这种方式:
for (int i = 0; i < 35; i++)
{
br.BaseStream.Position = 0x6316 + i*4;
numericUpDown[91 - i].Value = br.ReadInt16();
}
显然它不断给出错误,因为它无效。有没有办法这样做?
我正在尝试找到一种方法来循环遍历我的数字,例如将一个值添加到 numericupdown 然后重新循环到下一个NumericUpDown给它另一个值,以这种方式:
for (int i = 0; i < 35; i++)
{
br.BaseStream.Position = 0x6316 + i*4;
numericUpDown[91 - i].Value = br.ReadInt16();
}
显然它不断给出错误,因为它无效。有没有办法这样做?
在我看来,您想根据当前的“i”值获取对实际 NumericUpDown 控件的引用。
一种可能的方法是使用 Controls.Find() 并将控件的名称传递给它,如下所示:
Control[] matches;
for (int i = 0; i < 35; i++)
{
br.BaseStream.Position = 0x6316 + i * 4;
matches = this.Controls.Find("numericUpDown" + (91 - i).ToString(), true);
if (matches.Length > 0 && matches[0] is NumericUpDown)
{
((NumericUpDown)matches[0]).Value = br.ReadInt16();
}
}