Using a for-loop to fill 20 picturebox number 'i' with image I implemented as follows and it works (I got the solution here), but I really wonder if I can do that without having to define an array. For 20 it's a hassle but can be done, but what if you have an hundred to do? Is there a more "aesthetic" way to do that? 

public void afficheuneimagecombo()
    {
 for (int i = 0; i &lt;= 20; i++)
       {
            Item imguse = new Item();
            pictureBoxs[i].Load(imguse.getImage());
            pictureBoxs[i].SizeMode = PictureBoxSizeMode.StretchImage
        }

      }

PictureBox[] pictureBoxs = new PictureBox[20];

public Form1()
        {
            InitializeComponent();

            pictureBoxs[0] = pictureBox1;
            pictureBoxs[1] = pictureBox2;
            pictureBoxs[2] = pictureBox3;
            pictureBoxs[3] = pictureBox4;
            pictureBoxs[4] = pictureBox5;
              [...]
            pictureBoxs[20] = pictureBox20;


            afficheuneimagecombo()
        }
Assuming you have a container for each of your PictureBox controls do the following:

Use a List control:

  List&lt;PictureBox&gt; boxes = new List&lt;PictureBox&gt;();


Search for your picture boxes:

  foreach (Control c in YourContainerName.Controls)
  {
    if (c is PictureBox)
    {
      boxes.Add(c);
    }
  }


Then in your method:

public void afficheuneimagecombo()
{
  foreach (PictureBox pb in boxes)
  {
    Item imguse = new Item();
    pb.Load(imguse.getImage());
    pb.SizeMode = PictureBoxSizeMode.StretchImage;
  }
}