El componente ComboBox sirve para tener una lista de elementos donde solo podemos seleccionar un elemento.
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.
También cuenta con otros eventos como: MouseClick, MouseDoubleClick, Enter(foco), Leave(foco), MouseHover, MouseLeave , etc.