title: add/remove List<> items selected in a ListBox
body: <p>I have two Lists, the firs (right) represents a list of all cars and the secound (left) a list of cars for sale.</p>
  
  <p>There are two ListBoxes at my control, each of them will display one of the cars list. I want to click a button (&lt;&lt;) and the selected car at the ListBox 1 will be added to the ListBox 1 list.</p>
  
  <p>The two lists are created outside the control class, so I need to bind then to the ListBoxes. I have tried to use DataSource but I can not use Add Remove from Items if I set it. Which is the best way to do that? </p>
  
  <p><img src="https://i.stack.imgur.com/4A5dZ.png" alt="enter image description here"></p>
  
  <p>Thanks.</p>
  
  <p>OBS: Ive changed to a ListBox.</p>
  
  <hr>
  
  <p>The solution that I'm using is: Very very ugly solution... :/</p>
  
  <pre><code>    public IList&lt;Item&gt; ItensToMaintaim
      {
          get { return (IList&lt;Item&gt;)this.itensToMainTainList.DataSource; }
          set
          {
              //Need to set null to refresh
              this.itensToMainTainList.DataSource = null;
              this.itensToMainTainList.DataSource = value;
              this.itensToMainTainList.DisplayMember = "Name";
              this.itensToMainTainList.ValueMember = "Name";
          }
      }
  
      public IList&lt;Item&gt; Itens
      {
          get { return (IList&lt;Item&gt;)this.itensList.DataSource; }
          set
          {
              //Need to set null to refresh
              this.itensList.DataSource = null;
              this.itensList.DataSource = value;
              this.itensList.DisplayMember = "Name";
              this.itensList.ValueMember = "Name";
          }
      }
  
      private void removeItem_Click(object sender, EventArgs e)
      {
          if (this.itensToMainTainList.SelectedItem != null)
          {
              this.itens2.Remove((Item)this.itensToMainTainList.SelectedItem);
              this.ItensToMaintaim = this.itens2;
              if (this.itensToMainTainList.SelectedIndex &lt; 0)
              {
                  this.itensToMainTainList.SelectedIndex = this.itens2.Count - 1;
              }
          }
      }
  
      private void addItem_Click(object sender, EventArgs e)
      {
          if (this.itensList.SelectedItem != null)
          {
              bool contains = false;
              contains = this.itens2.Contains(this.itensList.SelectedItem);
              if (!contains)
              {
                  this.itens2.Add((Item)this.itensList.SelectedItem);
                  this.ItensToMaintaim = this.itens2;
              }
              if (this.itensList.SelectedIndex &lt; this.itens1.Count - 1)
              {
                  this.itensList.SelectedIndex++;
              }
          }
      }
  </code></pre>