title: C# Update combobox bound to generic list
body: <p>I have a combobox on my form that is bound to a generic list of string like this:</p>
  
  <pre><code>private List&lt;string&gt; mAllianceList = new List&lt;string&gt;();
  
  private void FillAllianceList()
  {
      // Add alliance name to member alliance list
      foreach (Village alliance in alliances)
      {
          mAllianceList.Add(alliance.AllianceName);
      }
  
      // Bind alliance combobox to alliance list
      this.cboAlliances.DataSource = mAllianceList;
  }
  </code></pre>
  
  <p>The user may then add or remove items in the combobox.<br/>
  I have read elsewhere that by simply adding or removing the item in the generic list, the contents of the combobox should automatically be updated; same thing should occur if I use Sort() on it.<br/>
  But for some reason, I cannot make this work. I can see the combobox's DataSource property is correctly updated as I add/remove/sort items, but the contents displayed in the combobox are not those in the DataSource property.</p>
  
  <p>I am surely missing something or doing something wrong.<br/>
  Thanks in advance!</p>
  
  <p>EDIT:<br/>
  <em>The answer I chose solved the issue for adding and removing, but a BindingList object cannot be sorted, and this is necessary for me. I've found a solution where a custom class is built by inheriting BindingList and adding sorting capabilities, but I would like to know if there's an easier solution in my case.<br/>
  Any suggestions on how to solve this easily?</em></p>