The control should not do it, unless the new control is fully within the control opening it.
Normally, this is not the case: both controls are within a form, and should not know of the existence of each other. In this case, the control with the button (call it Child1) signals an event which the form handles, causing the form to create a new control (call it Child2) and add it to the Controls collection.
It's simpler than it sounds:
Transferring information between two forms, Part 3: Child to Child[
^] covers it pretty much for forms, but the principles (and even the code) is the same for controls within a form.