2013-04-28 2 views
-2

Я пытаюсь найти путь к петле через мой числовой вверх вниз, как добавить значение в NumericUpDown, а затем ReLoop к следующим NumericUpDown придав ему другое значение, таким образом:C# переменной NumericUpDown

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

Он продолжает давать ошибку, очевидно, потому что это неверно. Есть ли способ сделать это?

+3

Что недействительным по этому поводу? Предполагая, что у вас есть массив, называемый 'numericUpDown', конечно. – Blorgbeard

+0

массив? нет, я так не думаю, мне это нужно? – Omarrrio

+2

Ну, вы используете синтаксис массива здесь: 'numericUpDown [91 - i] .Value = ..' – Blorgbeard

ответ

1

Похоже, вы хотите получить ссылку на фактический элемент управления NumericUpDown, основанный на текущем значении «i».

Один из возможных подходов заключается в использовании 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(); 
    } 
} 
Смежные вопросы