You don't actually declare the variable as Array, but as Control[], which inherits from Array implicitly:
Control[] controls = new Control[]
{
myControl1,
myControl2,
// ...
};
for (int i=0; i<controls.Length; i++)
{
Control c = controls[i];
if (i == 0) c.Location = new Point(8, 8);
else c.Location = new Point(8, 8 + controls[i - 1].Location.Y;
// ...
}
You could also use a collection or list, but then you either have to cast or use a typed collection or list like Control.ControlCollection. Also, since you need to add your controls to their container's Controls collection property anyway, you can always enumerate them all after adding them and initialize their properties.
Microsoft MVP, Visual C# My Articles