The proper way to navigate forms in C# (Hierarchical/Content-driven navigation)
<p>If I were to navigate between 2 forms (or more), it would be like this:</p>

<p><strong>Main Menu to second form:</strong></p>

<pre><code>Form2 form2 = new Form2(this) // Instantiate form and pass form data to next form
Hide();
</code></pre>

<p><strong>Second form:</strong></p>

<pre><code>Form1 form;

public Form2(Form1 form1)
{
    this.form1 = form1; //Take in previous form's data
}
</code></pre>

<p>Navigating forward will <code>Hide()</code> the current form while navigating backwards will <code>Close()</code> the current form.</p>

<p>But what if I am in the 3rd, 4th... nth form and I wish to go back to the main menu? Is there some kind of way to close all of my hidden forms?</p>

<p>Or is there a proper method to navigate between forms?</p>