2014-12-28 4 views
-1

내가하고 싶은 것은 나중에 사진 상자를 배열에 저장하여 나중에 작업 할 수 있습니다. 나는이 사진 상자를 얻을 수있는 해결책을 만들었지 만 그만큼 큰 것을 얻었습니다. 메신저는 확신 내가이사진 상자를 사진 상자 배열에 넣는 방법

public PictureBox[] getboxes() 
     { 
      PictureBox[] boxes = new PictureBox[]{pictureBox1,pictureBox2,pictureBox3,pictureBox4,pictureBox5,pictureBox6,pictureBox7,pictureBox8,pictureBox9,pictureBox10,pictureBox20,pictureBox19,pictureBox18,pictureBox17,pictureBox16,pictureBox15,pictureBox14,pictureBox13,pictureBox12,pictureBox11, 
      pictureBox40,pictureBox39,pictureBox38,pictureBox37,pictureBox36,pictureBox35,pictureBox34,pictureBox33,pictureBox32,pictureBox31,pictureBox30,pictureBox29,pictureBox28,pictureBox27,pictureBox26,pictureBox25,pictureBox24,pictureBox23,pictureBox22,pictureBox21, 
      pictureBox60,pictureBox59,pictureBox58,pictureBox57,pictureBox56,pictureBox55,pictureBox54,pictureBox53,pictureBox52,pictureBox51,pictureBox70,pictureBox69,pictureBox68,pictureBox67,pictureBox66,pictureBox65,pictureBox64,pictureBox63,pictureBox62,pictureBox61, 
      pictureBox80,pictureBox79,pictureBox78,pictureBox77,pictureBox76,pictureBox75,pictureBox74,pictureBox73,pictureBox72,pictureBox71,pictureBox50,pictureBox49,pictureBox48,pictureBox47,pictureBox46,pictureBox45,pictureBox44,pictureBox43,pictureBox42,pictureBox41, 
      pictureBox90,pictureBox89,pictureBox88,pictureBox87,pictureBox86,pictureBox85,pictureBox84,pictureBox83,pictureBox82,pictureBox81,pictureBox100,pictureBox99,pictureBox98,pictureBox97,pictureBox96,pictureBox95,pictureBox94,pictureBox93,pictureBox92,pictureBox91}; 
      return boxes; 
     } 

는이 쉽게

이 PLZ 도움이 만들 김 훨씬 큰 u는 볼 수 원하는을 쉽게 할 수있는 방법을 프로그래머와 이잖아?

답변

1

모든 .Net 컨트롤에는 해당 컨트롤에 대한 액세스 권한이있는 컨트롤이 있습니다.

foreach(var ctl in panel1.Controls) 
{ 
    var box = ctl as PictureBox; 

    if(box != null) 
    { 
     // Do what you want : add to an array, get the picture... 
    } 
} 

모든 그림 상자와 배열을 채우기 위해 :

모든 그림 상자는 같은 컨테이너에있는 경우

그래서, 당신이 사용할 수있는 모든 PictureBox를 검색하기 위해,이 패널 "에 Panel1"가정 해 봅시다

List<PictureBox> pboxes = new List<PictureBox>(); 

foreach(var ctl in panel1.Controls) 
{ 
    var box = ctl as PictureBox; 

    if(box != null) 
    { 
     pboxes.Add(box); 
    } 
} 

// pboxes now contains all PB. You can call "AsArray()" LINQ method on it to get an array rather than a List. 
+0

var 상자는 코드 뒤에 pictureBox의 배열입니까? – Arja

+0

아니요. 설명했던 것처럼 Controls 컬렉션에 포함 된 하나의 그림 상자입니다. 원하는 경우 모든 상자로 배열을 채우기 위해 편집을 할 것입니다. – AFract

+0

thx alot mate : D – Arja