Ejercicio ListBox Par e Impar (C#)
Este ejercicio es muy parecido al anterior, con la diferencia de que le agregamos dos botones: par e impar. Al dar clic en el botón par, mostrar en el listBox2 los números pares que se encuentren en el listBox de la izquierda, y al dar clic en el botón impar, mostrar los números impares.
Código
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MiniExamenEjercicio
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//Al hacer clic, salir de la aplicacion
private void btn_salir_Click(object sender, EventArgs e)
{
Close();
}
//Al hacer clic, limpiar todos los controles
private void btn_limpiar_Click(object sender, EventArgs e)
{
txt_numero.Clear();
lst_1.Items.Clear();
lst_2.Items.Clear();
}
//Hacer que sólo acepte números y backspace en el textBox, y que al dar enter se agregue al listBox1
private void txt_numero_KeyPress(object sender, KeyPressEventArgs e)
{
if((e.KeyChar > 47 && e.KeyChar < 58) || e.KeyChar == 8 || e.KeyChar == 13)
{
e.Handled = false;
if (e.KeyChar == 13)
{
lst_1.Items.Add(txt_numero.Text);
txt_numero.Clear();
}
}
else
{
e.Handled = true;
}
}
//Pasar el item seleccionado al listBox de la derecha, si no se selecciona ninguno, pasar el primero
private void btn_aDerecha_Click(object sender, EventArgs e)
{
try
{
lst_2.Items.Add(lst_1.SelectedItem);
lst_1.Items.Remove(lst_1.SelectedItem);
}
catch
{
try
{
lst_2.Items.Add(lst_1.Items[0]);
lst_1.Items.RemoveAt(0);
}
catch
{
}
}
}
//Pasar el listBox seleccionado a la izquierda, si no se selecciona ninguno, pasar el primero
private void btn_aIzquierda_Click(object sender, EventArgs e)
{
try
{
lst_1.Items.Add(lst_2.SelectedItem);
lst_2.Items.Remove(lst_2.SelectedItem);
}
catch
{
try
{
lst_1.Items.Add(lst_2.Items[0]);
lst_2.Items.RemoveAt(0);
}
catch
{
}
}
}
//Al dar clic, pasar todos los elementos al listBox de la derecha
private void btn_aDerechaTodos_Click(object sender, EventArgs e)
{
for (int i = 0; i < lst_1.Items.Count; i++)
{
lst_2.Items.Add(lst_1.Items[i]);
}
lst_1.Items.Clear();
}
//Al dar clic, pasar todos los elementos al listBox de la izquierda
private void btn_aIzquierdaTodos_Click(object sender, EventArgs e)
{
for (int i = 0; i < lst_2.Items.Count; i++)
{
lst_1.Items.Add(lst_2.Items[i]);
}
lst_2.Items.Clear();
}
//Limpiar listbox2, recorrer cada elemento del listBox1, y si el resultado de su division entre 2 es cero (es par), agregarlo al listBox2.
private void btn_Par_Click(object sender, EventArgs e)
{
lst_2.Items.Clear();
for (int i = 0; i < lst_1.Items.Count; i++)
{
if (int.Parse(lst_1.Items[i].ToString()) % 2 == 0)
{
lst_2.Items.Add(lst_1.Items[i]);
}
}
}
//Limpiar listbox2, recorrer cada elemento del listBox1, y si el resultado de su division entre 2 es uno (es impar), agregarlo al listBox2.
private void btn_Impar_Click(object sender, EventArgs e)
{
lst_2.Items.Clear();
for (int i = 0; i < lst_1.Items.Count; i++)
{
if (int.Parse(lst_1.Items[i].ToString()) % 2 == 1)
{
lst_2.Items.Add(lst_1.Items[i]);
}
}
}
}
}
No hay comentarios.:
Publicar un comentario