title: How do you access a form's controls using MVP
body: <p>Hopefully this image is readable on here...</p>
  
  <p><img src="https://i.stack.imgur.com/JX4In.png" alt=""></p>
  
  <p>This is my first project implementing MVP. I've got three classes. My main form, aptly named <code>FrmMain</code>, <code>FrmMainPresenter</code>, and then <code>MainOps</code> which has some extra stuff.</p>
  
  <p>On <code>FrmMain</code>, I've got a reference to <code>FrmMainPresenter</code>, and on <code>FrmMainPresenter</code> I have a reference to <code>FrmMain</code>.</p>
  
  <p>An event on <code>FrmMain</code> calls a method on <code>FrmMainPresenter</code>.</p>
  
  <p><code>FrmMainPresenter</code> is <em>supposed</em> to get a control from the <code>FrmMain</code> reference and call a method on <code>MainOps</code> that accepts a <code>GridControl</code> and <code>Collection&lt;Control&gt;</code>.</p>
  
  <p>However, upon trying to access the appropriate Grid and Collection within <code>FrmMainPresenter</code>, it tells me <code>FrmMain</code> doesn't contain a definition for those controls</p>
  
  <p>Code on <code>FrmMain</code>:</p>
  
  <pre><code>    private void genericCheckbox_CheckedChanged(object sender, EventArgs e)
      {
          _presenter.CheckBoxCheckedChanged();
      }
  </code></pre>
  
  <p>Code on <code>FrmMainPresenter</code>:</p>
  
  <pre><code>    public void CheckBoxCheckedChanged()
      {
          if (!_view.SuppressCheckedChanged)
              _mo.UpdateFilter(_view.gdcSVNDefaultView, _view.Controls);
      }
  </code></pre>
  
  <p>Not sure what I'm doing incorrectly. I didn't think this was correct, but my only guess was to go and set the necessary controls to public in the Designer file, but that didn't work. Same results.</p>
  
  <p>I guess the issue is because the interface for my form doesn't have the gridview / controls collection defined, my presenter class can't see it. But even then I'm not sure how I'd properly define it in the interface so that I could implement it on the form.</p>