1
POO104, Guía 3 1
Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos
GUIA 3:
Entorno de Desarrollo Visual Studio. Parte I.
Desarrolla sistemas de información informáticos mediante la integración de principios
matemáticos, ciencia computacional y prácticas de ingeniería, considerando estándares de calidad
y mejores prácticas validadas por la industria del software
Guía de laboratorio # 3 Programación Orientada a Objetos.
Visual Studio C#
Dispositivo de almacenamiento (opcional)
INTRODUCCIÓN A WINDOWS FORM
Esta guía tiene como objeto mostrar cómo construir aplicaciones básicas de Windows Forms
usando varios de los componentes más comunes que son una característica de la mayoría de las
aplicaciones GUI.
Se verá como establecer las propiedades de los formularios y de los componentes de Windows
Forms usando Visual Designer y la ventana de propiedades. También tiene por objeto que se
aprenda a cambiar o examinar los valores de estas propiedades dinámicamente usando el código
de C#.
HERRAMIENTAS DE C#
A continuación se detallan las herramientas y ventanas más importantes de Visual C#. Las
ventanas de la mayoría de herramientas pueden abrir desde el menú “Ver”.
1. El editor de código, para escribir código fuente
2. El compilador de C#, que se encarga de convertir el código fuente de C# en un programa
ejecutable.
3. El depurador de Visual Studio, para probar el programa
4. El cuadro de herramientas y el Diseñador, para desarrollar rápidamente interfaces de
usuario con el mouse.
Introducción Teórica
Competencia
Materiales y Equipo
2
POO104, Guía 3 2 5. El explorador de soluciones, para ver y administrar archivos de proyectos y
configuraciones.
6. El diseñador de proyectos, para configurar opciones del compilador, rutas de
implementación, recursos, entre otros.
7. La vista de clases, para desplazarse por el código fuente según los tipos, no los archivos.
8. La ventana “Propiedades”, para configurar propiedades y eventos en los controles de la
interfaz de usuario.
9. El examinador de objetos, que ve los métodos y clases disponibles en las bibliotecas de
vínculos dinámicos, incluidos los ensambladores de .NET Framework y los objetos COM
10. Document Explorer, para explorar y buscar la documentación del producto en su equipo
local y en Internet.
ENTORNO
El entorno C# está compuesto con herramientas para interactuar a través de ventanas, páginas
de propiedades y asistentes.
1. Cuadro de herramientas
2. Barra de herramientas y menú
3. Proyectos abiertos, propiedades y ayuda
4. Compilación de la aplicación, listado de errores.
5. Área de diseño y edición
3
POO104, Guía 3 3
EXPLORADOR DE SOLUCIONES Y DISEÑADOR DE PROYECTOS
La ventana de la parte superior derecha es el “Explorador de Soluciones”, que muestra todos los
archivos del proyecto en una vista de árbol jerárquica.
Cuando se utiliza el menú “Proyecto” para agregar nuevos archivos al proyecto, se verán
reflejados en el Explorador de Soluciones. Además de los archivos, el Explorador de soluciones
también muestra la configuración del proyecto y las referencias a las bibliotecas externas que
necesita la aplicación.
Para obtener acceso a las páginas de propiedades del Diseñador de proyectos, haga clic con el
botón secundario del mouse en “Propiedades” del Explorador de soluciones y, a continuación,
haga clic en “Abrir”.
Utilice estas páginas para modificar opciones de generación, requisitos de seguridad, detalles de
implementación y muchas otras propiedades del proyecto.
G3_Ejemplo_01: Creación de primer proyecto
Para la creación del proyecto, en Visual Studio
1. Inicie Visual Studio.NET
2. En el menú “Archivo (FILE)” , seleccione “Nuevo (NEW)” y después seleccione la opción
“Proyecto (PROJECT)”
Procedimiento
4
POO104, Guía 3 4
En el panel “Tipos de Proyecto”, seleccione proyectos de Visual C# y en el panel de plantillas,
seleccione “Aplicación para Windows (Windows Forms Aplication)” y en el cuadro de texto
“Nombre”, escribiremos “Ejemplo1”, después hacer clic en el botón “Aceptar (OK)”
Pasos
1. En la ventana “Propiedades” (si no ve la ventana presione (F4), haga clic en la propiedad
(Name), y después escriba Ejemplo1 en el cuadro de texto (Name) para cambiar el nombre
del control del formulario (esto se hace así, porque con este nombre se hará referencia cuando
se esté programando)
2. En la misma ventana “Propiedades”, seleccione la propiedad Text y después escriba “Este es
un ejemplo”, para cambiar la barra de título del formulario.
5
POO104, Guía 3 5 3. Seleccione la propiedad Font y haga clic en el botón “Puntos suspensivos” que aparece al
seleccionar la propiedad. Cuando se hace clic en el botón “Puntos suspensivos”, se abre el
cuadro de diálogo “Font” y se puede seleccionar la fuente y los efectos que se desean.
Añadir controles a los formularios
Hasta ahora se ha creado un formulario, se han establecido algunas de sus propiedades. Para
que el formulario sea útil, se necesita agregar los controles y
escribir algo de código propio.
Agregar controles de Windows Forms
En la siguiente figura se muestra el cuadro de herramientas,
donde podemos arrastrar los controles que necesitamos para
nuestra aplicación, (si no aparece la venta presionar Ctrl + w
+x)
Arrastre los controles necesarios, para construir un formulario similar al mostrado en la figura
siguiente:
6
POO104, Guía 3 6
Control Propiedad Valor
form1 Text Este es un ejemplo
Name frmventana
label1 Text Ingrese su nombre:
Name lbmensaje
textbox1 Text (dejar vacío)
Name txtnombre
button1 Text Guardar nombre
Name btnguardar
button2 Text SALIR
Name btnsalir
Ahora que tenemos toda la interfaz diseñada procedamos a la codificación:
Entremos al código dando
F7 o clic derecho sobre el
form y eligiendo < >View
Code.
Para regresar al diseño cambiamos de pestaña y seleccionamos Form1.cs [Design]
Textbox
Botón
Botón
Label
Form
7
POO104, Guía 3 7 Programando eventos
Hasta ahora se ha creado un formulario, se han establecido algunas de sus propiedades. Como
siguiente paso codificaremos los eventos de cada herramienta, de forma que logremos obtener
nuestro mensaje.
1. Damos doble clic sobre el btnguardar y nos mostrará algo como esto:
1.1 Ingresamos el siguiente fragmento de código en este método
string nombre = txtnombre.Text; MessageBox.Show("Bienvenido a POO " + nombre + " este es tu primer formulario");
2. Como segundo paso hagamos la misma rutina pero con el btnsalir y dentro de su método
escribamos:
Application.Exit(); //termina la aplicación
3. Estamos listos para probar el programa, ejecútelo con Start o F5 e ingrese su nombre en el
textbox. Al hacer esto debe aparecernos esta ventana
4. Para concluir, de clic en Aceptar y luego clic en el botón salir que usted programó.
Al hacer doble clic creamos un evento para esa herramienta y esto genera una función (o procedimiento) para decirle qué hacer
8
POO104, Guía 3 8
G3_Ejemplo_02: Creación de calculadora
Ahora haremos una aplicación para calcular las cuatro operaciones básicas
1. Configure las propiedades de los controles que acaba de agregar al formulario. Para cambiar
el valor de la propiedad de un control, haga clic en el control para seleccionarlo y luego
introduzca el valor correcto en la ventana de Propiedades. Hasta hacer un formulario similar
a esto.
En la siguiente tabla se listan las propiedades y valores que hay que asignar a cada uno de los
controles.
Los label y los messagebox, suelen ser utilizados como los encargados de mostrar mensajes para el usuario (hacen la función de un Console.WriteLine( ) pero en el entorno gráfico. Aunque no son los únicos sí son de los más frecuentes
Hay varias formas de capturar información: textbox, radiobutton, listbox, comboBox. (Muchas formas de un Console.ReadLine( ) )
Todos los datos recogidos son considerados texto (string), así que si deseamos hacer cálculos con ellos (como una suma) hay que convertir eso a int, float, double o a lo que necesitemos.
CONSIDERACIONES
9
POO104, Guía 3 9
Control Propiedad Valor
Label1 Text Número 1
TextBox1 Name txtnum1
Text Dejar en blanco
Label2 Text Número 2
TextBox2 Name txtnum2
Text Dejar en blanco
ComboBox1 Name cmbop
DropDrowStyle DropDrowList (Esta configuración fuerza a los
usuarios a elegir uno de los elementos de la lista;
los usuarios no pueden escribir un valor nuevo)
ListBox1 Name listadvance
RadioButton1 Name rbtn1
Text Básicas
RadioButton2 Name rbtn2
Text Avanzadas
Button1 Name btncalcular
Text Calcular
Cambio de las propiedades de forma dinámica
Hasta ahora se ha usado la vista de diseño para fijar las propiedades estáticamente. Cuando se
ejecuta el formulario, sería útil restablecer el valor de cada control a un valor inicial
predeterminado.
Para hacerlo hay que escribir algo de código.
• Dar doble clic en cualquier parte del formulario(que no sea sobre un control), para entrar al
evento Load, si lo hizo bien el cursor deberá aparecer, dentro de las llaves del siguiente
texto:
private void Ejemplo1_Load(object sender, EventArgs e) { }
• Dentro de esas llaves justo donde aparece el circulo digitamos lo siguiente:
10
POO104, Guía 3 10
//agrega item al combo
cmbop.Items.Clear( );
cmbop.Items.Add ("sumar");
cmbop.Items.Add ("Restar");
//agrega item a la lista
listadvance.Items.Clear ( );
listadvance.Items.Add
("Multiplicacion");
listadvance.Items.Add ("Division");
listadvance.TabIndex = 0;
//inhabilita el combo y la lista
cmbop.Enabled = false;
listadvance.Enabled = false;
• Presione la tecla F5 para que vea lo que le sucede al formulario, este deberá aparecer con
el combo y la lista desactivada
• Ahora vuelva al formulario (modo de diseño), y dar doble clic sobre el control radiobutton
que tiene de texto BASICAS.
private void rbtn1_CheckedChanged (object sender, EventArgs e) { }
• El nombre de ese método aparece como CheckedChanged, que indica que cuando el radio
button cambie, se realizará lo que está dentro de este método, ahora digitamos lo
siguiente:
if (rbtn1.Checked == true) { cmbop.Enabled = true; listadvance.Enabled = false; } Al final ese método se verá así:
private void rbtn1_CheckedChanged (object sender, EventArgs e) { if (rbtn1.Checked == true) { cmbop.Enabled = true;
11
POO104, Guía 3 11
listadvance.Enabled = false; } }
• Regresar al modo de diseño y dar doble clic al segundo radiobutton con el texto
de “Avanzadas”, y digitar lo siguiente:
cmbop.Enabled = false; listadvance.Enabled = true;
//me permite seleccionar el primer elemento de la lista
listadvance.SelectedIndex = 0;
• Regresamos nuevamente al modo de diseño, y damos doble clic al botón, para que nos
aparezca el evento de ese botón de la siguiente manera:
private void btncalcular_Click (object sender, EventArgs e) { }
• Dentro de esas llaves, digitar el texto siguiente:
double n1, n2, r; n1 = Convert.ToDouble (txtnum1.Text); n2 = Convert.ToDouble (txtnum2.Text); if (cmbop.Enabled == true) { if (cmbop.SelectedItem.ToString ( ) == "sumar") r = n1 + n2; else r = n1 - n2; MessageBox.Show ("El Resultado es "+ r.ToString ( ),"Respuesta"); } if (listadvance.Enabled == true) { if (listadvance.SelectedItem.ToString ( ) == "Multiplicacion") r = n1 * n2; else r = n1 / n2; MessageBox.Show ("El Resultado es " + r.ToString ( ), "Respuesta"); }
Presione F5 para ejecutar la aplicación.
12
POO104, Guía 3 12
1. Crear un formulario, que pedirá el nombre y el salario de un empleado.
En caso que el empleado sea un Gerente se le hace un descuento de 20% sobre el
sueldo (impuestos), si es subGerente se le hace un descuento del 15% y si es secretaria del 5%.
El resultado debe mostrar qué tipo de empleado es, cuánto gana antes de los descuentos, cuánto le descuentan (en dinero) y cuánto le queda de sueldo líquido.
Se sugiere un diseño como el siguiente (pero es libre según su creatividad)
2. Investigar qué hacen y cómo funciona try y catch en C#, posterior a ello modifique el
ejercicio anterior de tal forma que trabaje con try y catch.
1. Realice un programa que haga conversiones de tres tipos diferentes de datos :
a. Temperatura ( de celcius a farenheit)
b. Longitud (de metros a pies)
c. Peso (de kilogramos a libras)
Desarrollo de habilidades
Ejercicio sugerido
13
POO104, Guía 3 13
2. Crear un formulario, donde se calculará el valor de x1 y x2 utilizando la formula cuadrática