2010-07-15 9 views

Répondre

2

MISE À JOUR: Je me rends compte que vous pouvez ont demandé au opposé de ce que je fournis ci-dessous: comment ajouter les articles de un ComboBox- un List<string>. Si tel est le cas, vous pouvez toujours le faire comme ceci:

List<string> strList = new List<string>(); 
strList.AddRange(cbx.Items.Cast<object>().Select(x => x.ToString())); 

est ici une méthode d'extension que j'utilise:

public static class ControlHelper 
{ 
    public static void Populate<T>(this ComboBox comboBox, IEnumerable<T> items) 
    { 
     try 
     { 
      comboBox.BeginUpdate(); 
      foreach (T item in items) 
      { 
       comboBox.Items.Add(item); 
      } 
     } 
     finally 
     { 
      comboBox.EndUpdate(); 
     } 
    } 
} 

Cela vous permet de remplir une ComboBox avec une collection générique qui peut être énuméré. Voyez comment il est facile d'appeler:

List<string> strList = new List<string> { "abc", "def", "ghi" }; 
cbx.Populate(strList); 

Notez que vous pouvez également faire cette méthode non-générique, puisque la propriété ComboBox.Items est d'un type non générique (vous pouvez ajouter une object-Items). Dans ce cas, la méthode Populate accepterait un IEnumerable au lieu d'un IEnumerable<T>.

Questions connexes