SOLUCION EJERCICIO 2 1. Abrir un nuevo proyecto Windows Application. Le coloco de nombre Ejercicio2Clase. 2. Del cuadro de herramientas selecciono un panel y le asigno como nombre panelNumeros, un label y le asigno como nombre labelTitulo y selecciono un listBox y lo adiciono al panel. 3. Modifico por la ventana propiedades el contenido del campo Text del labelTitulo, en este digito Generador de numeros 1 hasta N. 4. Adiciono otros cuatro componentes: label (Name: labelParametro), textBox (textBoxParam), un botón (buttonInicio) y otro botón (buttonFinal). 5. El campo Text de labelParametro lo modifico a: Dato final de la secuencia: . 6. El campo Text de los botones también lo modifico a Iniciar y Terminar, respectivamente. 7. Paso Importante: Adicionar el componente Timer que se encuentra en el cuadro de herramientas dentro de la categoría Componentes. Y este se debe ubicar sobra el formulario (Form1), pero por fuera del panel. Con este paso estamos definiendo el elemento que permite ejecutar acciones cada X milisegundos cada vez que se habilite el Timer o temporizador. 8. Al seleccionar el timer1 en las propiedades debemos de cambiar el nombre a Timer1Segundo y la opción Interval al valor 1000. 9. Damos doble click en el botón Iniciar y escribimos el siguiente código: private void buttonInicio_Click(object sender, EventArgs e) { //Tomo el dato del cuadro de texto, lo paso a entero y guardo en N N = int.Parse(textBoxParam.Text); /*Verifico que N sea un dato válido, muestro error para que se corrija y *si es válido habilito el temporizador */ if (N <= 0) //Para mostrar una ventana de mensaje MessageBox.Show("N debe ser mayor que cero"); else //Para habilitar el temporizador timer1Segundo.Enabled = true; } 10. Damos doble click en el ícono timer1Segundo y escribimos el siguiente código: private void timer1Segundo_Tick(object sender, EventArgs e) { /*Este es el temporizador: Se encarga de cada 1000 ms (propiedad Interval) ejecutar las *instrucciones que siguen*/ /*Adiciono el valor i como cadena (por eso ToString) al listado de Items del listBox, *este es similar al comboBox, por lo tanto como no se adicionaron Items al inicio *aparece en blanco y a medida que se ejecuta esta linea cada 1000 ms adiciona un renglon *con el numero que vale i (inicialmente i debe ser 1*/ listBox1.Items.Add(i.ToString()); //Si el valor I llega a N debe volver a empezar la cuenta if (i == N) i = 0; //Siempre incrementa el valor de i cada segundo. i++; } 11. Damos doble click en el botón Terminar y escribimos el siguiente código: private void buttonFinal_Click(object sender, EventArgs e) { /*Solo sirve para deshabilitar el Timer, asi las instrucciones del paso anterior no se *ejecutan*/ timer1Segundo.Enabled = false; } 12. Para que el programa funcione adecuadamente se deben inicializar las variables int i = 1, N =0. Al inicio de la clase Form. A continuación les muestro el lugar donde se inicializan estas variables: using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; namespace Ejercicio2Clase { public partial class Form1 : Form { //Aquí es donde se inicializan las variables int i = 1, N = 0; public Form1() { InitializeComponent(); } Listo ahora F5 y a observar los resultados.