In addition to Solutions 1 and 2:
I don't believe any of your forms are child forms, or any of the forms are the parents of some other forms, unless you use MDI (I doesn't look like you do). In Forms, the parent-child relationship (defined by the property
System.Windows.Forms.Control.Parent
) is effectively done defunct: if you try to assign a form's parent, and exception will be thrown. This can be worked around by assigning the property
TopLevel
to false, but it does not make practical sense.
The forms do have important relationship owner-owned (
Form.Owner
) and one form is different: the main one. This is the form instance which was used in the call to
Application.Start
. When this form is closed, application exists. This can be used as one more technique to show some "starting" point: your call
Application.Start
with one form, then close it and make application exit, then start application again with some other form. But the use of the modal form (Solution 1) could usually be much simpler. This is how:
http://msdn.microsoft.com/en-us/library/system.windows.forms.form.showdialog%28v=vs.110%29.aspx[
^].
—SA