When you load an UserControl in the WinForm designer, VisualStudio executes the InitializeComponent() method of the control, but not its constructor. This really makes a difference because it's quite common to have some code in the constructor which cannot run at design time.
Unfortunately, when you add an UserControl to another control, VisualStudio runs the InitializeComponent() method of the parent control, which calls the constructors of the child controls, and if you've got an exception in those constructors, you're stucked.
How do you deal with this problem?