Developer's Diary

19 julio, 2010

Curso C# – Aplicación de ventana

Filed under: .net, Curso C#, Programación — 3nk1 @ 8:20 AM

En segundo lugar, vamos a realizar nuestra aplicación de ventana.

En este caso vamos a escribir nuestra primera aplicación en ventana. Al igual que la anterior vamos a hacer ciertas funciones para ir cogiendo soltura con el lenguaje de C#.

A diferencia de las aplicaciones en consola, en el caso de Windows Forms, obtenemos mucho más potencial en la interfaz de usuario. Aún así ese potencial, también requiere mayor responsabilidad, en el momento que tenemos una interfaz de usuario en la cual el usuario interactúa en mayor medida, la posibilidad de que existan errores aumenta. Por lo que debemos estar más atentos en la gestión de errores.

El potencial que obtenemos se debe principalmente, a los controles de usuario, un control de usuario no deja de ser un objeto, que en el caso de .net hereda del objeto control, este hereda a su vez del objeto object, valga la redundancia.

Un control, puede ser desde un botón, un cuadro de texto, un cuadro de dialogo, que son elementos visibles para nuestros usuarios. También existen otros controles que no son tan visibles para el mismo, pero que también añaden funcionalidad interactividad en nuestra aplicación, como pueden ser los cuadros de ayuda, los iconos de notificación o los timers. Aunque la lista de controles, engloba lo que podemos necesitar a primera instancia, tarde o temprano, nos pueden resultar escasos. Ya sea porque necesitamos controles más esteticos o más concretos. No debemos preocuparnos por eso, ya que, desde Visual Studio, podemos crear nuevos controles personalizados, ya habrá una entrada referente al tema.

Para crear una aplicación de ventana, debemos volver a pulsar en Nuevo->Proyecto->Aplicación de WinForms

Tras crearla, en esta ocasión el compilador nos genera dos ficheros, Form1.cs y Program.cs.

– De nuevo el fichero Program.cs será nuestra entrada de la aplicación, pero a diferencia de nuestra aplicación de consola, tendrá varias líneas de código introducidas en el main. Que llaman directamente a la clase Application.

La clase Application, es referente a la clase de nuestra aplicación, podemos llamarla desde cualquier parte de la aplicación y nos permite controlar ciertas propiedades de la aplicación, como la ruta de ejecución (startupPath) además de otros detalles. También existen ciertos métodos como Run, que es para ejecutar módulos de nuestra aplicación, también tenemos los métodos Exit y ExitThread, que nos permiten terminar con la aplicación cuando queramos.

– Por otra parte, tenemos Form1.cs, que es nuestro formulario, un formulario no deja de ser una clase, pero que es un poco más compuesta. Esta clase tiene varios ficheros en los cuales. Uno de ellos es FormX.Designer.cs. Este fichero contiene toda la información del diseñador. Cualquier cambio que hagamos en la vista de diseño modificará este fichero, no recomiendo la alteración de este fichero, cualquier cambio que podamos hacer aquí, podemos realizarlo con mayor comodidad en la vista de diseño. Además cualquier cambio incorrecto que realicemos puede implicar que Visual Studio no sea capaz de dibujar nuestro formulario.

La otra parte del formulario será Form1.cs en sí, este fichero, nos permite realizar modificaciones de código con los cambios que vayamos realizando en nuestra aplicación. Cuando seleccionemos una clase de tipo formulario o WindowsForms. Podremos abrir dos ventanas, la de vista de diseño que tiene una apariencia como esta:

Donde podemos realizar todas las modificaciones que queramos.Para ayudarnos tenemos que tener dos cuadros de herramientas cerca, como podemos ver en la imagen. Debemos usar el Cuadro de herramientas(a la izquierda) y el de Propiedades(a la derecha) En caso de que no podais visualizarlo, porque se haya cerrado, podeis ir al menú superior y darle a Ver->Cuadro de herramientas y Ver->Ventana de propiedades.

Mediante el cuadro de herramientas podemos elegir los controles que necesitamos y si estos están seleccionados modificar los valores de los controles en la ventana de propiedades. Recomiendo ir probando cada uno de los controles y buscar sus propiedades por internet. También deberíamos jugar con sus propiedades y ver sus funcionalidades. La mejor manera de hacer esto es abrir un nuevo proyecto, preferiblemente con el nombre del control o algo similar y modificar cada una de sus propiedades para familiarizarnos con los mismos.

Todos los controles poseen ciertas propiedades similares, como es el name, que será el identificador del control que estemos usando, al igual que ocurre con las variables, no pueden repetirse nombres, recordemos que C# es Case Sensitive, por lo que, podemos usar mayúsculas y minúsculas. Debemos pensar que los controles no dejan de ser clases visuales.

Otras propiedades comunes son el backcolor, que será el color del control y casí todas también contienen el valor de text, que serán el texto que muestran. Los controles que agrupan valores, como el listbox o el combobox, también tienen una propiedad llamada Items. Esta no deja de ser una lista en donde podemos ir agregando valores. Esto valores pueden ser agregados tanto en vista de diseño, modificando una propiedad, como mediante el código, accediendo a ese campo del objeto, volvemos a repetir, que los controles son objetos declarados dentro de nuestro formulario, objetos que son declarados normalmente como publicos, por lo que podremos modificarlos fuera de nuestro formulario también.

Otra de las funcionalidades que poseen los controles, son los eventos. Los eventos en el caso de los controles suelen ser interacciones realizada por el usuario en el objeto. Siempre que hagamos doble click sobre un control en la vista de diseño, se nos abrirá la ventana de código, con el evento más común para ese objeto. En el caso del botón es el evento de click, que es cuando el usuario realiza click, en el caso de un cuadro de texto es el evento textchanged que se trata del cambio del texto. Así sucesivamente.

Una buena manera de familiarizarse con los distintos eventos es también crear un nuevo proyecto e ir introduciendo todos los eventos posibles e introducir una sentencia de cuadro de mensaje con un mensaje cuando salta ese evento. La manera de crear un cuadro de texto es introduciendo la siguiente sentencia en la ventana de código. “MessageBox.Show(“con el mensaje”);”  De esta manera se creara una ventana de mensaje introduciendo el texto que hayamos puesto, este método puede ser sobrecargado de distintas maneras.

En la ventana de código hemos podido comprobar también que se han incluido más espacios de nombres que en la aplicación de consola. En este caso se han incluido:

-System

-System.Collections.Generic

-System.ComponentModel

-System.Data

Que nos permite tratar con datos para base de datos, en este caso no nos sería necesario, podríamos incluso eliminarlo.

-System.Drawing

Este contiene toda la capacidad para crear elementos, entre ellos se encuentran los controles y formularios que vamos a hacer actualmente. Pero también podemos realizar nuestros propios dibujos, ya hablaremos más adelante de este espacio de nombres con más detenimiento.

-System.Linq

-System.Text

-System.Windows.Forms

Nos incluye todas las capacidades de WindowsForms.

Ejercicio

Para esta primera aplicación de ventana vamos a jugar un poco con los controles más básicos, usaremos la etiqueta(label) , el botón button, el cuadro de texto(textbox) y la lista (listbox)

Vamos a hacer una aplicación, de nuevo de suma, podemos aprovechar la función que hicimos anteriormente para la aplicación de consola. Donde introduzcamos en el cuadro de texto un valor numérico, posteriormente con el botón, añadiremos ese valor, con otro botón calcularemos el valor total que recogeremos en la etiqueta que además de mostrarlo, se pondrá en color rojo en caso de ser par y verde en caso de ser impar.

Como bonus, podemos incluir algo de control de errores, como comenté anteriormente, la acción del usuario en una aplicación de ventana es mayor. Entre el control de errores podemos verificar que el valor introducido en el cuadro de texto, no sea texto y si numero, para ello nos podemos crear un método llamado isnumeric que devuelve true en caso de que sea numérico y false en caso contrario. También podemos verificar si existen valores dentro de la lista, antes de realizar los calculos, para ello, podemos usar la propiedad count dentro de la propiedad items de la lista.

Creo que como control de errores es suficiente con esos dos.

El diseño de nuestra aplicación debería quedar aproximadamente así:

Aquí dejo subido el código.

Saludos

Anuncios

1 comentario »

  1. […] de la siguiente manera: – La ide de desarrollo. – Nuestra primera aplicación de consola. – Nuestra primera aplicación de ventana. – Estructuras de control. – Estructuras de repetición. – Manejo de los controles básicos I , II […]

    Pingback por Curso C# « Developer's Diary — 3 enero, 2011 @ 7:30 AM


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: