Hands-On Lab

Manual de Laboratorio Sintaxis y manejo básico de objetos y formularios en C#

Página i

Information in this document is subject to change without notice. The example companies, organizations, products, people, and events depicted herein are fictitious. No association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarked, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2007 Microsoft Corporation. All rights reserved. Microsoft, MS-DOS, MS, Windows, Windows NT, MSDN, Active Directory, BizTalk, SQL Server, SharePoint, Outlook, PowerPoint, FrontPage, Visual Basic, Visual C++, Visual J++, Visual InterDev, Visual SourceSafe, Visual C#, Visual J#, and Visual Studio are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries. Other product and company names herein may be the trademarks of their respective owners.

Página ii

Contenido
LABORATORIO: SINTAXIS Y OBJETOS DE C# ..................................................................................................... 1 Objetivo del Laboratorio ......................................................................................................................................... 1 Ejercicio 1 – Creando la clase Persona ................................................................................................................. 2 Tarea 1 – Creando la clase ................................................................................................................................ 2 Ejercicio 2 – Mostrando la información de la persona ........................................................................................... 7 Tarea 1 – Creando el formulario ........................................................................................................................ 7 Ejercicio 3 – Modificando la información de la persona ....................................................................................... 11 Tarea 1 – Agregando el nuevo formulario al Proyecto .................................................................................... 11 Tarea 2 – Conectando los formularios ............................................................................................................. 14

Página iii

Laboratorio: Sintaxis y Objetos de C#
Objetivo del Laboratorio
Tiempo estimado para completar el laboratorio: 60 minutes El objetivo de este laboratorio es comprender la sintaxis del lenguaje C#, la utilización de objetos y la utilización básica de los formularios de Windows. Crearás una clase Persona la cual permitirá almacenar su información y adicionalmente crearás formularios Windows que permitan interactuar con dicha clase. El laboratorio se divide en tres (3) ejercicios:

Creación de la clase Persona. Crear el formulario windows para mostrar el resumen de la información de la persona. Crear el formulario windows para registrar y modificar los datos de la persona.

Página 1

Ejercicio 1 – Creando la clase Persona
En este ejercicio crearás la clase persona con sus atributos y métodos necesarios. Tarea 1 – Creando la clase La clase Persona contiene información relativa a una persona común, como nombres, apellidos, fecha de nacimiento, etc. Esta clase será fundamental para el desarrollo de todo el laboratorio.
1.

Ejecutar Visual Studio: desde el menú Start, seleccionar All Programs > Microsoft Visual Studio 2005 > Microsoft Visual Studio 2005. Desde el menú principal, seleccionar File > New > Project… para crear el Nuevo proyecto. El diálogo de New Project aparecerá. En el árbol de Project Types seleccionar Visual C# > Windows. En la sección Templates de la derecha seleccionar Windows Application. En el textbox Name, escribir el nombre de tu nuevo proyecto: LAB0201 Selecciona la ubicación deseada para tu proyecto. Deseleccionar el checkbox “Create directory for solution”. Clickear OK para crear la solución.

2. 3.

4.

En el explorador de la solución (Solution Explorer), presionar el botón derecho en el proyecto Lab0201 y seleccionar Add > Class. Darle el nombre: clsPersona y presionar Enter. (Ver figura).

Página 2

5.

Modificar el namespace de la clase con: Curso.Lab0201

using System; using System.Collections; namespace Curso.Lab0201 { /// <summary> /// Implementación de la clase persona /// </summary> public class Persona { ….

6.

Modificar el nombre de la clase a Persona y agregar el siguiente código:

public class Persona { #region Miembros Privados private int m_id; private string m_nombres;

Página 3

private private private private private private private private private private private private private

string m_apellidopaterno; string m_apellidomaterno; DateTime m_fechanacimiento; int m_nrohijos; float m_sueldo; int m_docidentidad; string m_docidentidadnro; string m_sexo; int m_estadocivil; string m_telefono01; string m_telefono02; string m_direccion; string m_nacionalidad;

#endregion /// <summary> /// Constructor de la clase Persona. Aquí se inicializa todos los atributos de la clase /// </summary> public Persona() { // Inicialización de atributos m_id = 0; m_nombres = String.Empty; m_apellidopaterno = String.Empty; m_apellidomaterno = String.Empty; m_fechanacimiento = DateTime.MinValue; m_nrohijos = 0; m_sueldo = 0; m_docidentidad = 0; m_docidentidadnro = String.Empty; m_sexo = String.Empty; m_estadocivil = 0; m_telefono01 = String.Empty; m_telefono02 = String.Empty; m_direccion = String.Empty; m_nacionalidad = String.Empty; } #region Propiedades accesoras public int ID { get { return m_id; } set { m_id = value; } } public string Nombres { get { return m_nombres; } set { m_nombres = value; } } public string ApellidoPaterno { get { return m_apellidopaterno; } set { m_apellidopaterno = value; } } public string ApellidoMaterno { get { return m_apellidomaterno; } set { m_apellidomaterno = value; } } public DateTime FechaNacimiento { get { return m_fechanacimiento; } set { m_fechanacimiento = value; } }

Página 4

public int NroHijos { get { return m_nrohijos; } set { m_nrohijos = value; } } public float Sueldo { get { return m_sueldo; } set { m_sueldo = value; } } public int DocIdentidad { get { return m_docidentidad; } set { m_docidentidad = value; } } public string DocIdentidadNro { get { return m_docidentidadnro; } set { m_docidentidadnro = value; } } public string Sexo { get { return m_sexo; } set { m_sexo = value; } } public int EstadoCivil { get { return m_estadocivil; } set { m_estadocivil = value; } } public string Telefono01 { get { return m_telefono01; } set { m_telefono01 = value; } } public string Telefono02 { get { return m_telefono02; } set { m_telefono02 = value; } } public string Direccion { get { return m_direccion; } set { m_direccion = value; } } public string Nacionalidad { get { return m_nacionalidad; } set { m_nacionalidad = value; } } #endregion public string ObtenerResumen() { string resumen = string.Format("Nombres/Apellidos = {0} {1} {2}", m_nombres, m_apellidopaterno, m_apellidomaterno); resumen = resumen + System.Environment.NewLine + string.Format("Fecha de Nacimiento = " + m_fechanacimiento.ToLongDateString()); resumen = resumen + System.Environment.NewLine + string.Format("Nro de Hijos = {0}", m_nrohijos); resumen = resumen + System.Environment.NewLine + string.Format("Sueldo = {0:C}", m_sueldo);

Página 5

resumen = resumen + System.Environment.NewLine {1}", m_docidentidad, m_docidentidadnro); resumen = resumen + System.Environment.NewLine resumen = resumen + System.Environment.NewLine m_estadocivil); resumen = resumen + System.Environment.NewLine m_telefono01, m_telefono02); resumen = resumen + System.Environment.NewLine m_direccion); resumen = resumen + System.Environment.NewLine m_nacionalidad); return resumen; } }

+ string.Format("Documento de Identidad = {0} + string.Format("Sexo = {0}", m_sexo); + string.Format("Estado Civil = {0}", + string.Format("Teléfonos = {0} / {1}", + string.Format("Dirección = {0}", + string.Format("Nacionalidad = {0}",

Página 6

Ejercicio 2 – Mostrando la información de la persona
En este ejercicio crearás el formulario para mostrar el resumen informativo de la persona, es decir invocarás el método ObtenerResumen() de la clase persona para mostrar su información resumida en un control TextBox. Tarea 1 – Creando el formulario En esta tarea crearás un formulario el cual tendrá un texbox para mostrar el resumen de la persona y un botón para modificar su información. La funcionalidad del botón se implementará en el siguiente ejercicio.
1.

En el menú contextual del proyecto (botón derecho en el proyecto Lab0201) seleccionar Add > Windows Form y darle el nombre frmMantPersonas. En el menú contextual del formulario frmMantPersonas seleccionar View Code y agregar el namespace de la clase persona mediante el código:

2.

using Curso.Lab0201;
3.

Agregar el objeto principal Persona que se utilizará en la toda la aplicación, como un atributo de la clase frmMantPersonas , debiendo quedar de la siguiente manera:
System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms; Curso.Lab0201;

using using using using using using using using

namespace Lab0201 { public partial class frmMantPersonas : Form { // Objeto principal persona private Persona MiObjetoPersona; public frmMantPersona() { InitializeComponent(); } } }
4.

En el menú contextual del formulario frmMantPersonas seleccionar View Designer para ver el formulario en modo diseño. Debes modificarlo hasta quedar de la siguiente manera:

Página 7

Como puedes ver, se agregó un textbox (txtResumenPersona) con la propiedad MultiLine y un botón simple con el texto “Editar Persona” (btnEditarPersona).
5.

Agregar el evento Load al formulario: En la ventana propiedades hacer click en el rayo amarillo para ver los eventos, ubicar la propiedad Load y darle doble click. (Ver figura)

Después de dar el doble click aparecerá la ventana de código con lo siguiente:
Página 8

private void frmMantPersonas_Load(object sender, EventArgs e) { }

En el siguiente paso, agregarás el código para el evento Load.
6.

En el evento Load del formulario frmMantPersonas debes agregar el siguiente código:
private void frmMantPersonas_Load(object sender, EventArgs e) { // Crear objeto persona. MiObjetoPersona = new Persona();

// Establecer los atributos MiObjetoPersona.Nombres = "Juan Carlos"; MiObjetoPersona.ApellidoPaterno = "Rivas"; MiObjetoPersona.ApellidoMaterno = "Moreno"; MiObjetoPersona.FechaNacimiento = DateTime.Parse("15/01/1985"); MiObjetoPersona.DocIdentidad = 1; // DNI MiObjetoPersona.DocIdentidadNro = "99999990"; MiObjetoPersona.ID = 1; MiObjetoPersona.Nacionalidad = "Peruano"; MiObjetoPersona.NroHijos = 1; MiObjetoPersona.Sueldo = 2250.65f; MiObjetoPersona.Sexo = "M"; MiObjetoPersona.Telefono01 = "333-2223"; MiObjetoPersona.Telefono02 = "444-2223"; MiObjetoPersona.EstadoCivil = 1; // Soltero MiObjetoPersona.Direccion = "Av. Javier Prado 3442 - 2do Piso.\r\nSanta Beatriz\r\nLima\r\nPerú"; // Mostrar el resumen de la persona this.MostrarResumenPersona();
}

Este código creará una persona de ejemplo la cual será mostrada en el formulario.
7.

Crear el evento click para el botón btnEditarPersona (ver paso 5) y agregar el siguiente código:
private void btnEditarPersona_Click(object sender, EventArgs e) { // Mostrar el resumen de la persona this.MostrarResumenPersona(); }

8.

Crear el método MostrarResumenPersona() en el formulario, el cual invocará al método ObtenerResumen() del objeto Persona y mostrará el resultado en el textbox txtResumenPersona, mediante el siguiente código:
private void MostrarResumenPersona() { txtResumenPersona.Text = MiObjetoPersona.ObtenerResumen(); }

9.

Para establecer el formulario de inicio del programa, abrir la clase Program.cs y modificar la sentencia existente con el siguiente código:

Página 9

Application.Run(new frmMantPersonas());
10.

Ejecutar el programa presionando Ctrl + F5 y ver el resultado.

Página 10

Ejercicio 3 – Modificando la información de la persona
En este ejercicio crearás el formulario que permitirá modificar la información de la persona y guardarla nuevamente en el objeto Persona. Tarea 1 – Agregando el nuevo formulario al Proyecto
1.

Agregar un Nuevo formulario al proyecto y darle el nombre frmEditarPersona. El formulario debe tener la siguiente forma:

Botones:
btnGuardar btnCancelar

Cuadros de texto (Texbox):
txtID txtApellidoMaterno txtApellidoPaterno txtNombres txtSexo txtNroDocumento Página 11

txtNacionalidad txtDireccion, con la propiedad MultiLine: True txtTelefono01 txtTelefono02 txtSueldo txtNroHijos

Selectores de Fecha (DateTimePicker):
dtpFechaNacimiento, con la propiedad Format: Short

Combos (ComboBox):
cboEstadoCivil, con la propiedad DropDownStyle: DropDownList cboTipoDocumento, con la propiedad DropDownStyle: DropDownList
2.

Agregar el contenido a los Combos: Utilizar la propiedad Items para agregar elementos a los combos (ver figura). Combo: cboTipoDocumento

Combo: cboEstadoCivil

Página 12

3.

En el formulario, agregar el código para referenciar al namespace de la clase persona:
System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms;

using using using using using using using

using Curso.Lab0201;

4.

Agregar el atributo Persona al formulario:

public partial class frmEditarPersona : Form { public Persona objPersona; public frmEditarPersona() { InitializeComponent(); }

5.

Agregar el método MostrarValores() al formulario:
private void MostrarValores() { // Poblar los controles del formulario, en base a los atributos del objeto txtID.Text = objPersona.ID.ToString(); txtNombres.Text = objPersona.Nombres; txtApellidoPaterno.Text = objPersona.ApellidoPaterno; txtApellidoMaterno.Text = objPersona.ApellidoMaterno; dtpFechaNacimiento.Value = objPersona.FechaNacimiento; txtNroHijos.Text = objPersona.NroHijos.ToString(); txtSueldo.Text = objPersona.Sueldo.ToString(); cboTipoDocumento.SelectedIndex = objPersona.DocIdentidad - 1; txtNroDocumento.Text = objPersona.DocIdentidadNro; txtSexo.Text = objPersona.Sexo; cboEstadoCivil.SelectedIndex = objPersona.EstadoCivil - 1; txtTelefono01.Text = objPersona.Telefono01; txtTelefono02.Text = objPersona.Telefono02; txtDireccion.Text = objPersona.Direccion; txtNacionalidad.Text = objPersona.Nacionalidad; }

6.

Agregar el evento Load al formulario con el siguiente código:
private void frmEditarPersona_Load(object sender, EventArgs e) { this.MostrarValores(); }

Página 13

7.

Agregar el método GuardarValores() al formulario:
public void GuardarValores() { // Establecer los atributos del objeto objPersona.ID = int.Parse(txtID.Text); objPersona.Nombres = txtNombres.Text; objPersona.ApellidoPaterno = txtApellidoPaterno.Text; objPersona.ApellidoMaterno = txtApellidoMaterno.Text; objPersona.FechaNacimiento = dtpFechaNacimiento.Value; objPersona.NroHijos = int.Parse(txtNroHijos.Text); objPersona.Sueldo = float.Parse(txtSueldo.Text); objPersona.DocIdentidad = cboTipoDocumento.SelectedIndex + 1; objPersona.DocIdentidadNro = txtNroDocumento.Text; objPersona.Sexo = txtSexo.Text; objPersona.EstadoCivil = cboEstadoCivil.SelectedIndex + 1; objPersona.Telefono01 = txtTelefono01.Text; objPersona.Telefono02 = txtTelefono02.Text; objPersona.Direccion = txtDireccion.Text; objPersona.Nacionalidad = txtNacionalidad.Text; }

8.

Agregar el evento Click del botón btnCancelar:
private void btnCancelar_Click(object sender, EventArgs e) { // Cerrar el formulario this.Close(); }

9.

Agregar el evento Click del botón btnGuardar:
private void btnGuardar_Click(object sender, EventArgs e) { // Guardar los datos ingresados en el formulario, en el objeto this.GuardarValores(); // Cerrar el formulario this.Close(); }

Tarea 2 – Conectando los formularios Ahora ya tenemos el formulario totalmente implementado, sin embargo ahora debemos conectarlo con el formulario principal (frmMantPersonas). El formulario frmMantPersonas invocará y mostrará el formulario frmEditarPersona.
1.

Ir al formulario frmMantPersonas y modificar el código del evento Click del botón btnEditarPersona:

Página 14

private void btnEditarPersona_Click(object sender, EventArgs e) { // Crear el formulario de edicion frmEditarPersona formulario = new frmEditarPersona(); // Establecer el objeto en el formulario formulario.objPersona = MiObjetoPersona; // Mostrar el formulario formulario.ShowDialog(); // Mostrar el resumen de la persona this.MostrarResumenPersona(); }

2.

Ejecutar el programa presionando Ctrl + F5 y ver el resultado. (ver figuras)

Página 15

Página 16

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.