title: Doing dependency injection right in a WinForms application with subforms
body: <p>Let's say a main form have a few menu items. Each menu item will show another form. Is the following code a good way to do dependency injection in this scenario?</p>
  
  <pre><code>public class MainForm: Form {
    private IAboutForm _aboutForm;
    private IOptionsForm _optionsForm;
    private IDownloadsForm _downloadsForm;
  
    MainForm(IAboutForm aboutForm, IOptionsForm optionsForm, IDownloadsForm downloadsForm) { // add as many form dependencies as required
      _aboutForm = aboutForm;
      _optionsForm = optionsForm;
      _downloadsForm = downloadsForm;
  
      InitializeComponent();
    }
  
    private void AboutMenuItem_Click(object sender, System.EventArgs e) {
      _aboutForm.ShowDialog(this);
    }
  
    private void DownloadsMenuItem_Click(object sender, System.EventArgs e) {
      _downloads.Show();
      _downloads.BringToFront();
    }
  
  }
  </code></pre>