
Existen muchas formas de llenar un control comboBox en Windows Forms obteniendo los datos de varias fuentes. En este artículo veremos como llenarlo a través de un objeto de tipo colección (List) conteniendo objetos tuplas (Tuple), obteniendo los datos con el que llenaremos los tuplas de los resultados de una consulta a una base de datos. El código asume que ya se abrió una conexión a la base de datos y se ejecutó una consulta y se están leyendo los datos que arrojó la misma.

El código está comentado para su mejor entendimiento.
/* Lista de items para el combobox, los items son representado
por tuplas de 2 valores: un entero y otro de tipo cadena */
List<Tuple<Int32, String>> listaItems = new List<Tuple<int, string>>();
// Leemos los registros
while (lector.Read())
{
/* Añade ala lista los items a mostrar en el combobox, creando objetos tupla con valores
obtenidos de la base de datos*/
listaItems.Add(Tuple.Create<Int32, String>(lector.GetInt32(0), lector.GetString(1)));
}
// Cierra el lector de datos
lector.Close();
// Asigna items a el combobox
comboBox1.DataSource = listaItems;
/* Asigna la propiedad a desplegar en el combobox
En un objeto tupla la propiedad que contiene
el primer elemento es llamada Item1, el segundo Item2
y asi sucesivamente */
comboBox1.DisplayMember = "Item2";
// Asigna la propiedad como valores de los items del combobox
comboBox1.ValueMember = "Item1";
Espero les sea útil.
¡Hasta la próxima!


