Although using the CreateControl method will do this, it is not advised. The
problem you run into is that a form has a life time maximum of 754 controls.
That is, if you add a control to a form, the count goes up by one, but if you
delete a control, the count does not reduce by one. Therefore, it doesn't
take long before the form will error out and no longer work.
In a case where a control may or may not be needed at run time, the better
way is to create the control in design view and make it not Visible. Then
when you determine you need it at run time, just make it visible.
If you think you will not know how many controls you may need, I suggest you
rethink your design.