Solved, turns out the controls were being sent to the back for some reason. All I did was add var[ArrayPos].BringToFront(); on each section and it's working.