I am fairly new to C# and I am writing a program that simulates a cricket match between two teams. So far, I have several different Windows Forms, representing, a home screen form, a form to select the teams, a form to display the team's stats, and a form to display the match screen. The program runs by creating a "Home Screen" form, and then when the user clicks a button to start a match, this form closes and a new "Team Select" form is created and displayed. Once the user has selected the teams to simulate, this form closes and a "Match" form is created and displayed, and so on.
Is this the proper way to make a C# program? Do programmers generally have a new Windows Form for each screen, switching between program screens by using the Show() and Hide() properties? I would have thought that it makes more sense to have one single "mother" form which updates its apparance and properties when required, rather than having several different forms all running at once, with all but one hidden.
Any suggestions for a newbie?