Everything is created with code. If you create a form in the designer then all that does is write code for you, but it is still code being executed at run time. In your case there seems to be absolutely no reason to do anything other than just add the controls to your form as normal. The only reason to use a container would be if you needed to handle all those controls as a block for some reason, like diabling all of them in one go. The UserControl is even more pointless unless you either want to reuse the controls as a group, be able to add them as a group at run time or else hide some of the inner workings of them and encapsualte them in a single class. As far as lining them up, the IDE already plenty of advanced tools for that. The snap-lines feature is all you need in most situations. If you will need to move some or all of the controls based on other controls or the form then you may want to use a TableLayoutPanel or FlowLayoutPanel, but they are unnecessary too unless things will be moving or resizing.