What's your problem? If you create and show a new form, it will go on top of the first form, as you wanted. If may cover the first form, so what?
By the way, parent-child relationship between forms is not functional (even though
Form
is
Control
with
Control.Parent
and you actually can make a form a parent of another form, I recommend you never do so), and the two forms you described are not child-parent, of course.
Instead, I strongly recommend to use the relationship Owner/Owned form. Use the property
Form.Owner
to make all forms owned by the main form. This is important for application integrity: activation of one form or application will always put all application's form activate together in Z-order which will not allow a form from any other application to come between your forms.
See
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.aspx[
^].
Better yet, avoid multiple forms; use just one with more complex container controls like
TabControl
. What are now your separate form will become the tab pages. There are many other good styles based on a single form; look at Visual Studio, for example. Most important thing here is not using MDI.
—SA