2012-01-25 2 views
0

안녕하세요, C# Windows Form 응용 프로그램 숙제에 대한 도움이 필요합니다. 예를 들어, 10 개의 picturebox가 배열되어 있고 "pic0", "pic1"등의 이름이 있다고 가정합니다. for 루프를 사용하여 코드에서 호출해야합니다. 이것이 내 문제입니다. 죄송 합니다만 제가 잘못 설명해 주셨습니다.하지만 제가 시도한 코드를 보여 주려고합니다.루프를 사용하여 이미지 호출

for(int i=0;i<Array.Length;i++) 
{ 
    ("pic" + i).Visible = true; 
} 

루프에서 수행하려고하는 작업은 루프를 통해 모든 것을 루프로 표시하는 것입니다. 문제는 내가 ("그림"+ i) 전화를 생각하지 않는다는 것입니다. 어떤 제안?

+0

이 질문의 단순성 때문에 지금 당장 얼굴을 마주칩니다. 모두에게 감사드립니다. – user1033065

+0

아래에서 정답을 발견하면 다른 사람과 비슷한 문제가있을 때 다른 사용자가 정답을 식별하는 데 도움이됩니다. –

답변

1

이름 대신 배열을 사용하십시오. 배열의 각 요소는 Visible 속성을 설정할 수있는 Picturebox가됩니다.

for(int i=0;i<someArray.Length;i++) 
{ 
    someArray[i].Visible = true; 
} 
0

글쎄, 당신은 (자신의 이름이 아닌, 아마도에 PictureBox 요소의 배열 인) 당신이 배열의 요소를 반복 할 수 그림 상자의 배열을 가지고 각 요소의 Visible 속성을 설정합니다. 만 (문자열로) 배열에 이름이있는 경우에 당신에게 다음, 그러나

// again, yourArray is an array of PictureBox elements: PictureBox[] yourArray 
foreach(PictureBox element in yourArray) 
{ 
    element.Visible = true; 
} 

:

// assuming yourArray is the array holding your PictureBox elements 
for(int picBoxIndex = 0; picBoxIndex < yourArray.Length; picBoxIndex++) 
{ 
    yourArray[picBoxIndex].Visible = true; 
} 

의 PictureBox 요소의 배열을 반복하는 또 다른 방법은이 같은 foreach 문을 사용하는 것입니다 다르게해야 할 것입니다.

0

표현식 ("pic" + i)은 컴파일하지 않은 것일 수도 있고, 컴파일 할 경우 string 유형의 객체를 반환합니다.

string의 개체에는 Visible 속성이 없습니다.

원하는 Windows Forms 컨트롤을 찾는 방법이 필요합니다. 실제로 배열에 모든 객체가 있습니다.

foreach (Control control in array) { 
    control.Visible = true; 
} 
관련 문제