El control ComboBox permite seleccionar un String de una lista.
Para inicializar los string que contendrá el ComboBox debemos acceder a la propiedad Items
Un evento muy útil con este control es cuando el operador selecciona un Item de la lista. Para capturar la selección de un item debemos codificar el evento SelectedIndexChanged.
Cargar en un ComboBox los nombres de varios colores. Al seleccionar alguno mostrar en la barra de título del Form el String seleccionado.
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged Text = ComboBox1.Text End Sub End Class
Cuando se selecciona un string de la lista se dispara el evento SelectedIndexChanged y procedemos a extraer el texto seleccionado del ComboBox y lo mostramos en el título del Form:
Text = ComboBox1.Text
Disponer tres controles de tipo ComboBox con valores entre 0 y 255 (cada uno representa la cantidad de rojo, verde y azul). Luego al presionar un botón pintar el fondo del Form con el color que se genera combinando los valores de los ComboBox.
Hay un evento muy importante en la clase Form llamado Load (seleccionemos el formulario y generemos dicho evento) Este evento se dispara cuando se carga el formulario con todos los controles visuales. En este evento cargaremos los tres ComboBox con los números.
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim f As Integer For f = 0 To 255 ComboBox1.Items.Add(f) ComboBox2.Items.Add(f) ComboBox3.Items.Add(f) Next ComboBox1.SelectedIndex = 0 ComboBox2.SelectedIndex = 0 ComboBox3.SelectedIndex = 0 End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim rojo As Integer = ComboBox1.Text Dim verde As Integer = ComboBox2.Text Dim azul As Integer = ComboBox3.Text BackColor = Color.FromArgb(rojo, verde, azul) End Sub End Class
La carga manual de cada ComboBox nos haría perder mucho tiempo en tiempo de diseño por lo que lo hacemos mediante un algoritmo. Cuando se carga el Form se ejecuta el evento Load donde mediante un For procedemos a añadir los 256 valores:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim f As Integer For f = 0 To 255 ComboBox1.Items.Add(f) ComboBox2.Items.Add(f) ComboBox3.Items.Add(f) Next
La propiedad Items del ComboBox tiene un método llamado Add que añade un elemento a la lista.
Luego para dejar seleccionado por defecto el primer item añadido iniciamos la propiedad SelectedIndex:
ComboBox1.SelectedIndex = 0 ComboBox2.SelectedIndex = 0 ComboBox3.SelectedIndex = 0
En el evento Click del botón procedemos a extraer el valor seleccionado de cada ComboBox:
Dim rojo As Integer = ComboBox1.Text Dim verde As Integer = ComboBox2.Text Dim azul As Integer = ComboBox3.Text
Para cambiar el color de fondo del Form actualizamos la propiedad BackColor. El color lo generamos llamando al método estático FromArgb de la clase Color:
BackColor = Color.FromArgb(rojo, verde, azul)
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Text = TextBox1.Text & " - " & ComboBox1.Text End Sub End Class