title: Windows form design advice
body: <p>I have built a touch screen application using Windows Forms.
  It works great but I still would like to have some design advice.</p>
  
  <p>My application consists of several different windows forms.</p>
  
  <p>My design is that I have one MainForm which all of the other forms inherit from. In this Mainform I have the buttons where the user can choose which form to open.
  When the user chooses one of the options another form is opened. I use the following code:</p>
  
  <pre><code>Control control = this;                // the current form, that is open
  Recording rec = Recording.Instance;    // the form that the user choose to open
  if (control != rec) {
      rec.Show();                        // show the recording form 
      control.Hide();                    // hide the previous form
  }
  </code></pre>
  
  <p>Is this a correct way to work with forms or should I use some other way? For example, have one form and user controls in it.</p>