Informática Lenguaje de programación C Sharp (C#)

Transcripción

Informática Lenguaje de programación C Sharp (C#)
Colegio Nicolás Esquerra Jornada Tarde
Asignatura: Informática
Lenguaje de programación C Sharp (C#)
GUIA 9
Controles comunes - ComboBox
El control ComboBox permite seleccionar un string( cadena de caracteres) 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.
Problema 1:
Cargar en un ComboBox una lista con los nombres de varios colores a través de la propiedad items.
Al seleccionar alguno mostrar en la barra de título del Form el string seleccionado.
Códico problema1.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplicationComboBox1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Text = comboBox1.Text;
}
}
}
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:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Text = comboBox1.Text;
}
Problema 2:
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.
Códico problema2.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplicationComboBox2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int f = 0; f <= 255; f++)
{
comboBox1.Items.Add(f.ToString());
comboBox2.Items.Add(f.ToString());
comboBox3.Items.Add(f.ToString());
}
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
comboBox3.SelectedIndex = 0;
}
private void button1_Click(object sender, EventArgs e)
{
int rojo = int.Parse(comboBox1.Text);
int verde = int.Parse(comboBox2.Text);
int azul = int.Parse(comboBox3.Text);
BackColor = Color.FromArgb(rojo, verde, azul);
}
}
}
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 void Form1_Load(object sender, EventArgs e)
{
for (int f = 0; f <= 255; f++)
{
comboBox1.Items.Add(f.ToString());
comboBox2.Items.Add(f.ToString());
comboBox3.Items.Add(f.ToString());
}
La propiedad Items del ComboBox tiene un método llamado Add que añade un elemento a la lista
(como debemos pasar un string como parámetro convertimos a la variable entera f a string)
Luego para dejar seleccionado por defecto el primer item añadido inicializamos 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 y lo
convertimos a entero:
int rojo = int.Parse(comboBox1.Text);
int verde = int.Parse(comboBox2.Text);
int azul = int.Parse(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);
Problemas propuestos
1. Solicitar el ingreso del nombre de una persona y seleccionar de un control ComboBox un país.
Al presionar un botón mostrar en la barra del título del Form el nombre ingresado y el país
seleccionado.

Documentos relacionados