C# 如何将图片框放入一组图片框中

C# 如何将图片框放入一组图片框中,c#,winforms,C#,Winforms,我只想把我的图片框保存在一个数组中,以便以后处理它们, 我做了一个解决方案来获取这些图片框,但是它太大了,我非常确定有一种方法可以更容易地实现,这就是我想要的 public PictureBox[] getboxes() { PictureBox[] boxes = new PictureBox[]{pictureBox1,pictureBox2,pictureBox3,pictureBox4,pictureBox5,pictureBox6,picture

我只想把我的图片框保存在一个数组中,以便以后处理它们, 我做了一个解决方案来获取这些图片框,但是它太大了,我非常确定有一种方法可以更容易地实现,这就是我想要的

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;
        }
正如你所看到的,这太大了


是否有任何帮助可以简化此操作?

每个.Net控件都有一个属性控件,允许访问其子控件

因此,如果您的所有图片框都在同一个容器中,比如一个面板“panel1”,用于检索您可以使用的每个图片框:

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...
   }
}
要使用所有图片框填充阵列,请执行以下操作:

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.
List pboxes=new List();
foreach(面板1.控件中的var ctl)
{
var框=ctl作为PictureBox;
如果(框!=null)
{
pboxes.Add(框);
}
}
//PBOX现在包含所有PB。您可以对其调用“AsArray()”LINQ方法以获取数组而不是列表。

var框是代码后面的一个图片框数组?不。它是一个图片框,包含在控件集合中,如我所解释的。如果您愿意,我将进行编辑以用所有框填充数组。