El componente ComboBox es un elemento esencial en la interfaz de usuario que permite desplegar una lista de opciones, permitiendo al usuario seleccionar solo una de ellas. Es ideal para optimizar espacio en formularios o para cambiar dinámicamente el comportamiento de una aplicación.
Este elemento lo podemos usar de manera individual para cambiar el comportamiento de una aplicación o dentro de un formulario junto con otros componentes.
Les traigo un ejemplo donde veremos el uso y comportamiento de un elemento ComboBox en C# .NET con Visual Studio.
Vamos a crear un proyecto de Windows Forms y agregaremos el componente ComboBox es el que se muestra en la imagen.

Para manipular el combobox lo haremos usando código y el nombre de variable del componente, vamos a usar el nombre de variable por default comboBox1.
Agregar Elementos o Valores
Por default el combobox se crea limpio, sin valores, para agregar valores vamos a usar comboBox1.Items.Add(“valor”), donde valor puede ser cualquier valor en cadena de texto. Vamos a agregar 5 valores.
comboBox1.Items.Add("Manzana");
comboBox1.Items.Add("Pera");
comboBox1.Items.Add("Durazno");
comboBox1.Items.Add("Naranja");Ejecutamos la aplicación y veremos el combobox con los valores.

Eliminar Elementos o Valores
Para eliminar elementos o valores tenemos 2 opciones: Items.Remove y Items.RemoveAt.
El método combo.Items.Remove(“texto”) elimina el elemento que coincida con el texto de la función remove.
comboBox1.Items.Remove("Pera");El metodo combo.Items.RemoveAt(index) elimina el elemento que este en la posicion index, empezando por 0 (cero).
comboBox1.Items.RemoveAt(2);
Mostrar Elemento Seleccionado
Para mostrar el elemento seleccionado existen 2 opciones. SelectedItem y SelectedIndex.
Para el la opción SelectedItem verificaremos que esta opción no sea nula, si queremos obtener el valor de SelectedItem si es nulo se dispara una Excepción.
Para obtener el valor usaremos el método SelectedItem.ToString().
if (comboBox1.SelectedItem != null)
{
MessageBox.Show(comboBox1.SelectedItem.ToString());
}SelectedIndex nos devuelve la posicion del elemento, tomando en cuenta que el primer elemento es 0 (cero).
Si usamos la opción SelectedIndex vamos a usar lo siguiente.
if (comboBox1.SelectedIndex!= -1)
{
MessageBox.Show(comboBox1.SelectedIndex.ToString());
}Al usar SelectedIndex si el valor es -1 significa que no se ha seleccionado ningún valor. También debemos usar SelectedIndex.ToString() para obtener el valor del indice seleccionado.
Eventos
El componente ComboBox cuenta con muchos Eventos, el mas importante creo que es: SelectedIndexChanged , este evento se dispara cuando el valor o indice seleccionado cambia.
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// 1. Obtenemos el texto de la opción seleccionada
string colorSeleccionado = comboBox1.SelectedItem.ToString();
// 2. Actuamos según la selección
switch (colorSeleccionado)
{
case "Rojo":
MessageBox.Show("Has seleccionado el color de la pasión.");
break;
case "Azul":
MessageBox.Show("Has seleccionado el color del cielo.");
break;
case "Verde":
MessageBox.Show("Has seleccionado el color de la esperanza.");
break;
default:
MessageBox.Show("Color por defecto.");
break;
}
}También cuenta con otros eventos como: MouseClick, MouseDoubleClick, Enter(foco), Leave(foco), MouseHover, MouseLeave , etc.
- Eventos de Enfoque:
Enter(cuando el componente recibe el foco) yLeave(cuando el usuario pasa a otro control). - Eventos de Mouse:
MouseHover(al pasar el cursor por encima) oMouseClick.
Tip Pro: Si quieres que el usuario no pueda escribir dentro del ComboBox y solo pueda elegir de la lista, cambia la propiedad
DropDownStyleaDropDownListdesde el panel de propiedades.
Conclusión
El ComboBox es uno de los componentes más versátiles de Windows Forms. Como hemos visto, no solo permite presentar opciones de forma organizada, sino que su manipulación mediante eventos como SelectedIndexChanged nos permite crear interfaces dinámicas y reactivas.
Para lograr una implementación profesional, recuerda siempre:
- Validar los índices antes de acceder a los datos para evitar errores de ejecución.
- Elegir el estilo visual adecuado (
DropDownvsDropDownList) según si deseas permitir que el usuario escriba o no. - Limpiar y actualizar la lista de elementos según el contexto de tu aplicación para mantener una interfaz limpia.
Dominar este control es un paso fundamental para cualquier desarrollador que busque crear aplicaciones de escritorio sólidas y amigables para el usuario en el ecosistema .NET.
Te puede interesar: Inventio Win: Sistema de Inventario y Ventas con C# .NET y MySQL