There is no a problem of "dynamic creation of objects". In that sense of the word "dynamic" you meant, they are always created dynamically, not any other way.
This is the advice I always give: just look at what existing Visual Studio designer does. With Forms, designer automatically generates some code which serves a role of the source code at the same time. When you open a form or a user control with the designer, existing code is read, and then you can modify it using the designer. All you need to do it to open that source code file found under the Solution Explorer node of that form or user control. If you don't know how to write some code but know how to do it with the designer, make a sample with the designer and then look at the auto-generated code.
In particular, it will show you the generation and adding control. Let's assume you already have some parent control, such as a form or a panel. Now you add new controls to it, for example:
Panel parent =
ComboBox comboBox = new ComboBox();
Label label = new Label();
label.Text = "Some &Text";
parent.Controls.Add(label);
comboBox.Parent = parent;
And so on…
—SA