It is a common design in data handling applications to move from form to form to show the user different information.
I have seen any number of different attempts at this on the boards so i thought I'd throw together a short snippet to show a cleaner OO way to do this.
This example is designed to hide the parent form whilst a child form is displayed then to redisplay the parent when the child is closed. In this instance, no data is passed between the parent and the child. To see how to do this check my tutorial for accessing controls between forms :)
The important feature of this snippet is the event handler attached to the instance of the child. By handling this event in the parent the child has no knowledge of the calling parent form.
If you wish to close the parent and never redisplay it you can amend the event handler to this.Close() instead of this.Show(). This will close the calling form when the child is closed.