2013-04-28 3 views
-2

나뿐만에, 아래로 내 숫자를 통해 반복 할 수있는 방법을 찾아내는 numericupdown에 값을 추가하고이 방식으로, 그것을 다른 값을주고 다음 NumericUpDown에 RELOOP하려고 :C# 변수 NumericUpDown

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

유효하지 않기 때문에 오류가 계속 발생합니다. 그렇게 할 방법이 있습니까?

+3

:

한 가지 가능한 방법은 사용 Controls.Find()과이 같은 컨트롤의 이름을 전달하는 것입니다? 물론 실제로'numericUpDown'이라는 배열을 가지고 있다고 가정하면 ... – Blorgbeard

+0

배열입니까? 아니, 그렇게 생각하지 않아. 내가 필요할 것 같니? – Omarrrio

+2

글쎄, 여기 배열 구문을 사용하고 있습니다 :'numericUpDown [91 - i] .Value = ..' – Blorgbeard

답변

1

현재 "i"값을 기준으로 실제 NumericUpDown 컨트롤에 대한 참조를 얻으려는 것처럼 보입니다. 그것에 대해 무효 무엇

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(); 
    } 
} 
관련 문제