-2

我正在尝试找到一种方法来循环遍历我的数字,例如将一个值添加到 numericupdown 然后重新循环到下一个NumericUpDown给它另一个值,以这种方式:

for (int i = 0; i < 35; i++)
{
    br.BaseStream.Position = 0x6316 + i*4;
    numericUpDown[91 - i].Value = br.ReadInt16();
}

显然它不断给出错误,因为它无效。有没有办法这样做?

4

1 回答 1

1

在我看来,您想根据当前的“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();
    }
}
于 2013-04-29T00:41:45.887 回答