Está en la página 1de 19

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.
2. Desde el menú principal, seleccionar File > New > Project… para crear el Nuevo proyecto.
3. 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.
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 string m_apellidopaterno;
private string m_apellidomaterno;
private DateTime m_fechanacimiento;
private int m_nrohijos;
private float m_sueldo;
private int m_docidentidad;
private string m_docidentidadnro;
private string m_sexo;
private int m_estadocivil;
private string m_telefono01;
private string m_telefono02;
private string m_direccion;
private 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 + string.Format("Documento de Identidad = {0}
{1}", m_docidentidad, m_docidentidadnro);
resumen = resumen + System.Environment.NewLine + string.Format("Sexo = {0}", m_sexo);
resumen = resumen + System.Environment.NewLine + string.Format("Estado Civil = {0}",
m_estadocivil);
resumen = resumen + System.Environment.NewLine + string.Format("Teléfonos = {0} / {1}",
m_telefono01, m_telefono02);
resumen = resumen + System.Environment.NewLine + string.Format("Dirección = {0}",
m_direccion);
resumen = resumen + System.Environment.NewLine + string.Format("Nacionalidad = {0}",
m_nacionalidad);

return resumen;
}

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.
2. En el menú contextual del formulario frmMantPersonas seleccionar View Code y agregar el
namespace de la clase persona mediante el código:
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:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Curso.Lab0201;

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:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
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