Assuming this is Windows Forms:
1 the Form your Panel is sited on can only add space "to the bottom of the Form" ... when Controls are added to the Panel at run-time ...
if the Form 'Autosize and the Panel 'AutoSize are both 'true.
Simple fix:
1 set the Panel 'Autosize to 'false, and Panel 'AutoScroll to 'true.
2 as you add Controls at run-time, set the Dock to 'Top, and call 'BringToFront(): that will ensure the order of Controls in the Panel are from first (top) to last (bottom).
Like this:
UserControl1 uc = new UserControl1();
panel1.Controls.Add(uc);
uc.Dock = DockStyle.Top;
uc.BringToFront();
This way you do not need to concern yourself about how many User Controls are in the Panel.