title: MVP Winforms and textbox combobox values
body: <p>I have a combobox with a list as datasource. This list contains objects(customers) with their properties (name, address, ...).
  When i select an item of the combobox, i want to pass the information (address, zipcode...) to some textboxes on my form. 
  In my test 1tier application this works correct. 
  But the main application im working on, is based on MVP (with my own touch on it). The problem that im facing is the casting. As my view does not know my model, i should not be allowed to use the (Customers). <code>string address = ((Customers)comboBox1.SelectedItem).CustomerAddress;</code></p>
  
  <p>1Tier testing code:</p>
  
  <pre><code>private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  {
      //getCustomers((int)comboBox1.SelectedValue);
      //txtAddress.Text =Convert.ToString( comboBox1.SelectedValue);
      Customers p = (Customers)comboBox1.SelectedItem;
      string s = comboBox1.SelectedItem.ToString();
      string address = ((Customers)comboBox1.SelectedItem).CustomerAddress;
      txtAddress1.Text = address;
  }
  
  private void Form3_Load(object sender, EventArgs e)
  {
      using (var emp = new EmployerEFEntities())
      {
          var query = from customers in emp.Customers
                      select customers;
  
          comboBox1.DisplayMember = "CustomerName";
          comboBox1.ValueMember = "CustomerID";
          comboBox1.DataSource = query.ToList();
      }
  }
  </code></pre>
  
  <p>I have been looking in to this for a few days now, but haven't come to a success. I hope someone could give me the right direction.</p>
  
  <p>The code of the real application:</p>
  
  <p>View:</p>
  
  <pre><code>private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  {
      txtName.Text = comboBox1.SelectedValue.ToString();
  }
  
  private void CustomerView_Load(object sender, EventArgs e)
  {
      comboBox1.DataSource = customerPresenter.getCustomers();
      comboBox1.DisplayMember = "CustomerName";
      comboBox1.ValueMember = "CustomerId";
  }
  </code></pre>
  
  <p>Presenter:</p>
  
  <pre><code>public List&lt;tbl_customer&gt; getCustomers()
  {
      using (var customers = new DBCrownfishEntities())
      {
          var customer = from c in customers.tbl_customer
                         select c;
  
          return customer.ToList();
      }
  }
  </code></pre>