Я создаю массив графических блоков, однако я не уверен в коде, необходимом для помещения новых графических блоков в массив.
PictureBox[] bossHealth = new PictureBox[20];
for( int i = 0; i<19; i++)
{
bossHealth[i].Name = "health";
bossHealth[i].Size = new Size(10, 26);
bossHealth[i].BackColor = Color.LimeGreen;
bossHealth[i].Location = new Point(this.Width / 2 + (i * 10), 12);
bossHealth.Add(bossHealth[i]);
Controls.Add(bossHealth[i]);
}





После строки кода PictureBox[] bossHealth = new PictureBox[20]; у вас есть массив с местом для 20 графических блоков. Однако каждая ячейка в этом массиве содержит null - вы должны инициализировать его в своем цикле.
Также эта строчка bossHealth.Add(bossHealth[i]); не имеет смысла. У массивов нет метода Add, а bossHealth[i] уже является частью массива. Похоже, вы путаете массивы и списки.
Вот улучшенная версия вашего кода:
PictureBox[] bossHealth = new PictureBox[20];
for( int i = 0; i<19; i++)
{
bossHealth[i] = new PictureBox();
bossHealth[i].Name = "health";
bossHealth[i].Size = new Size(10, 26);
bossHealth[i].BackColor = Color.LimeGreen;
bossHealth[i].Location = new Point(this.Width / 2 + (i * 10), 12);
Controls.Add(bossHealth[i]);
}
неправильная строка - bossHealth.Add (bossHealth [i]) ;, просто не знаю, какой формат правильный.