Combinación VB.NetBox Controlar con EJEMPLO

¿Qué es el control Combobox?

El control de cuadro combinado le ayuda a mostrar una lista desplegable con muchos elementos. Considérelo como una combinación de un cuadro de texto en el que un usuario ingresa texto y una lista desplegable de la que un usuario selecciona un elemento. Tenga en cuenta que el cuadro combinado muestra un elemento a la vez.

Creando un cuadro combinado

Una combinaciónBox se puede crear de la siguiente manera:

Paso 1) Crear una nueva aplicación.

Paso 2) Arrastre un control de cuadro combinado desde la caja de herramientas al formulario.

Creando un cuadro combinado

Habrás creado un control de cuadro combinado.

Agregar elementos al cuadro combinado

Ahora que hemos creado un cuadro combinado, demostremos cómo agregarle elementos.

Double Haga clic en el control de cuadro combinado que ha añadido. Pasará de la pestaña de diseño a la pestaña con código.

Para agregar un elemento a un control de cuadro combinado, utilizamos la propiedad Items. Demostremos esto agregando dos elementos al cuadro combinado, Male y Female:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

También podemos optar por agregar elementos al cuadro combinado en tiempo de diseño desde la ventana Propiedades. Estos son los pasos:

Paso 1) Abra la pestaña de diseño y haga clic en el control de cuadro combinado.

Paso 2) Vaya a la ventana Propiedades y vea la opción Elementos.

Paso 3) Haga clic en... ubicado a la derecha de (Colección).

Agregar elementos al cuadro combinado

Paso 4)Verá una nueva ventana. Aquí es donde debe agregar elementos al cuadro combinado, como se muestra a continuación:

Agregar elementos al cuadro combinado

Paso 5) Una vez que haya terminado de escribir los elementos, haga clic en el botón Aceptar.

Paso 6) Haga clic en el botón Inicio de la barra de herramientas superior y haga clic en el ícono desplegable en el cuadro combinado.

Agregar elementos al cuadro combinado

Los elementos se agregaron correctamente al control del cuadro combinado.

Seleccionar elementos del cuadro combinado

Es posible que necesites configurar el elemento predeterminado que se seleccionará cuando se cargue el formulario. Puedes lograrlo mediante el método SelectedItem(). Por ejemplo, para configurar el género seleccionado predeterminado como Masculino, puedes usar la siguiente declaración:

ComboBox1.SelectedItem = "Male"

Al ejecutar el código, el control del cuadro combinado debería verse como se muestra a continuación:

Seleccionar elementos del cuadro combinado

Recuperación de valores de cuadros combinados

Puede obtener el elemento seleccionado de su cuadro combinado. Esto se puede hacer mediante la propiedad de texto. Demostremos esto utilizando nuestro cuadro combinado anterior con dos elementos, es decir, Masculino y Femenino. Siga los pasos que se indican a continuación:

Paso 1) Double Haga clic en el cuadro combinado para abrir la pestaña con VB.NET código.

Paso 2) Agrega el siguiente código:

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End Class

Paso 3) Haga clic en el botón Iniciar de la barra de herramientas para ejecutar el código. Debería aparecer el siguiente formulario:

Recuperación de valores de cuadros combinados

Paso 4) Haz clic en el botón desplegable y elige tu género. En mi caso, elijo Masculino y obtengo lo siguiente:

Recuperación de valores de cuadros combinados

Aquí hay una captura de pantalla del código:

Recuperación de valores de cuadros combinados

Explicación del código:

  1. Creando una clase llamada Form1. La clase será de acceso público ya que su modificador de acceso se ha establecido en Público.
  2. Inicio de un subprocedimiento denominado ComboBox1_SelectedIndexChanged. Se genera automáticamente cuando hace doble clic en el control de cuadro combinado desde la pestaña de diseño. Este subprocedimiento se invocará cuando seleccione un elemento del cuadro combinado. El objeto sd As Object hace referencia al objeto que generó el evento, mientras que el objeto event As EventArgs tiene los datos del evento s.
  3. Creando una cadena entera llamada var_gender.
  4. Establecer el valor de la variable var_gender al elemento que está seleccionado en el cuadro combinado.
  5. Imprimir el valor de la variable var_gender en un MesageBox.
  6. Fin del comboBox1_Subprocedimiento SelectedIndexChanged.
  7. Fin de la clase Form1.

Eliminar elementos del cuadro combinado

Es posible eliminar un elemento de su cuadro combinado. Hay dos formas de hacerlo: puede utilizar el índice del elemento o el nombre del elemento.

Cuando utilice el índice de elementos, debe utilizar la propiedad Items.RemoveAt() como se muestra a continuación:

ComboBox1.Items.RemoveAt(1)

En el ejemplo anterior, eliminamos el elemento ubicado en el índice 1 del cuadro combinado. Tenga en cuenta que los índices de los cuadros combinados comienzan en el índice 0, lo que significa que el comando anterior eliminará el segundo elemento del cuadro combinado.

Para eliminar el elemento usando su nombre, debe usar la propiedad Items.Remove() como se muestra a continuación:

ComboBox1.Items.Remove("Female")

El código anterior debería eliminar el elemento denominado Mujer del comboBox1.

Fuente de datos vinculante

Una combinaciónBox se puede completar a partir de un conjunto de datos. Considere la consulta SQL que se proporciona a continuación:

select emp_id, emp_name from employees; 

Puede crear una fuente de datos en un programa y luego usar el siguiente código para vincularla:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

Esto le proporcionará una forma sencilla de completar su control de cuadro combinado con datos sin tener que escribir cada elemento individual.

Evento SelectedIndexChanged

Este tipo de evento se invoca cuando se cambia el elemento seleccionado en el cuadro combinado. Es el evento que se debe utilizar cuando se necesita implementar una acción tras un cambio en el elemento seleccionado de un cuadro combinado. Demostremos esto mediante un ejemplo:

Paso 1) Cree una nueva aplicación de formularios de ventana.

Paso 2) Después de eso necesitas Arrastre y suelte dos controles de cuadro combinado en el formulario.

Evento SelectedIndexChanged

Paso 3) Double Haga clic dentro del formulario para abrir la pestaña de código. Ingrese el siguiente código:

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End Class

Paso 4) Haga clic en el botón Iniciar de la barra superior para ejecutar el código. Debería obtener el siguiente resultado:

Evento SelectedIndexChanged

Paso 5) Haga clic en el botón desplegable del primer cuadro combinado y seleccione Hombre. Mueva el cursor del mouse al segundo cuadro combinado y haga clic en su botón desplegable. Vea los elementos disponibles:

Evento SelectedIndexChanged

Paso 6) Vaya al primer cuadro combinado y elija Mujer. Vaya al segundo cuadro combinado y vea los elementos disponibles:

Evento SelectedIndexChanged

Aquí hay una captura de pantalla del código:

Evento SelectedIndexChanged

Explicación del código:

  1. Creando una clase llamada Form1.
  2. Inicio de un subprocedimiento denominado Form1_Load(). Esto se activará una vez que se cargue el formulario. El objeto sd As hace referencia al objeto que generó el evento, mientras que el sistema As EventArgs tiene los datos del evento.
  3. Agregar el artículo Machos al comboBox1.
  4. Agregar el artículo Hembras al comboBox1.
  5. Fin del subprocedimiento Form1_Load().
  6. Inicio de un subprocedimiento denominado ComboBox1_SelectedIndexChanged(). Se invocará cuando se seleccione un elemento en el primer cuadro combinado. El objeto que envía hace referencia al objeto que generó el evento, mientras que el objeto EventArgs contiene los datos del evento.
  7. hacer comboBox2 vacío, borre todos los elementos.
  8. Creando una condición. Comprobando si el elemento seleccionado en ComboBox1 es Hombres.
  9. Añade el artículo Nicholas al combo.Box2 cuando la condición anterior es verdadera, es decir, elemento seleccionado en ComboBox1 es hombre.
  10. Añade el artículo John al combo.Box2 cuando la condición anterior es verdadera, es decir, elemento seleccionado en ComboBox1 es Hombres.
  11. Creando una condición. Comprobando si el elemento seleccionado en ComboBox1 es Mujeres.
  12. Añade el artículo Alice al combo.Box2 cuando la condición anterior es verdadera, es decir, elemento seleccionado en ComboBox1 es Mujeres.
  13. Añade el artículo Grace al combo.Box2 cuando la condición anterior es verdadera, es decir, elemento seleccionado en ComboBox1 es Mujeres.
  14. Fin del bloque If.
  15. Fin del comboBox1Subprocedimiento_SelectedIndexChanged().
  16. Fin de la clase Form1.

Resumen

  • Una combinaciónBox Se crea arrastrándolo desde la caja de herramientas y soltándolo en el formulario.
  • Nos proporciona una forma de presentar numerosas opciones al usuario.
  • Podemos configurar el elemento predeterminado para que se seleccione en el ComboBox cuando se carga el formulario.
  • El evento SelectedIndexChanged nos ayuda a especificar la acción a realizar cuando se selecciona un elemento particular en el cuadro combinado.