Instead of using a Panel and adding these controls to the form in the designer, create a UserControl and add the child controls to that. You can then put all the logic for resizing and relocation in the UserControl. The form then simply has to tell the UC to display itself in portrait or landscape and let the UC itself handle the rest. This is called "encapsulation" and is one of the tenets of OOP.