Você está na página 1de 4

Lenguajes de programación III

2do parcial
II cuatrimestre de 2016

Nombre: ______________________________________________ Calificación_________________


Nº recibo: __________________

Enunciado:
En esta ocasión se realizara una aplicación con la siguiente interfaz gráfica:

// 10 puntos, realización de la interfaz gráfica

El programa debe permitir al usuario el ingreso de una persona a la lista (lstPersonas), al agregar este elemento a la
lista, también se le debe de agregar a un objeto de la clase Personas. La lista solamente mostrara el nombre de la
persona y al seleccionar la persona en la lista se deben de mostrar todos sus datos. También se debe permitir el
borrado de una persona de la lista.

El proyecto cuenta con la siguiente estructura:

Como puede observar en la imagen, se muestra un formulario llamado


frmListaPersonas, una clase llamada Persona, una clase llamada Personas y la
clase Program
A continuación se presenta el código de alguna de las clases:

//10 puntos por la realización del código de la clase


La clase Persona cuenta con el siguiente código
using System;
using System.Collections.Generic;
using System.Text;

namespace miniAgendaConLista{
class Persona{
// Atributos de la clase
private string nombre = string.Empty;
private string direccion = string.Empty;
private long telefono = 0;

// Métodos
public Persona() { }

public Persona(string nom, string dir, long tel){


Nombre = nom;
Direccion = dir;
Telefono = tel;
}

public string Nombre {


get {return nombre;}
set {nombre = value;}
}

public string Direccion {


get { return direccion; }
set { direccion = value; }
}

public long Telefono {


get { return telefono; }
set { telefono = value; }
}

public override string ToString(){


return “Nombre: ”+Nombre+“\nDireccion: ”+Direccion+“\nTelefono: ”+Telefono;
}
}
}

//10 puntos, por la realización del código de la clase


La clase Pesonas cuenta con el siguiente código
using System;
using System.Collections.Generic;
using System.Text;

namespace miniAgendaConLista{
class Personas : List<Persona>{
public Personas() { }
}
}
//15 puntos por la realización realización del código faltante de la clase
La clase frmListaPersonas cuenta con el siguiente 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 miniAgendaConLista{
public partial class frmListaPersonas : Form{
//Variables de la clase
private Personas personas = new Personas(); //Colecciones de objetos persona
private int item = -1; //Elemento seleccionado en la lista

public frmListaPersonas(){
InitializeComponent();
}

private void btnAgregar_Click(object sender, EventArgs e){


//Escriba el código de esta función
}

private void lstPersonas_SelectedIndexChanged(object sender, EventArgs e){


//Escriba el código de esta función
}

private void btnEliminar_Click(object sender, EventArgs e){


//Escriba el código de esta función
}
}
}

Funcionamiento de la lista (lstPersonas):


Una lista posee una colección de elementos llamada Items la cual permite agregar o eliminar elementos a la lista.
Para agregar elementos a una lista utilizamos el método Add y para eliminar elementos utilizamos el método
RemoveAt.

Ejemplo
lstPersonas.Items.Add(“cadena de texto a agregar a la lista”);
lstPersonas.Items.RemoveAt( índice );

Cuando selecciona un elemento de la lista se produce evento SelectedIndexChanged y es cuando se produzca este
evento que vamos a mostrar todos los datos de la persona seleccionada en la lista.

Cada vez que seleccionamos un elemento de la lista, esta almacena en la variable SelectedIndex el valor
correspondiente a la posición del elemento seleccionado en la lista. Si el valor de esta propiedad es -1 significa que
no hay elementos seleccionados en la lista.
Funcionalidades adicionales
//5 puntos
Realice los cambios necesarios para que en la barra de título del formulario se muestre la hora del sistema, se
recomienda utilizar el control Timer (Temporizador), para mostrar la hora del sistema.

//10 puntos
Agregue lo necesario para que también se puede llevar el dato email para cada uno de los contactos que se agreguen
a la agenda. Esto incluye modificar la clase Persona y modificar la interfaz gráfica de la aplicación

Você também pode gostar