índice del curso de VB .NET

Curso de iniciación a la programación
con Visual Basic .NET

Entrega número dos.
Publicada el 15/Oct/2001
Revisada el 13/Ene/2002
(algunas correcciones gramaticales y otras menores)


En la entrega anterior vimos algunos conceptos generales que acompañan a esta versión de Visual Basic, también vimos algunas palabras que usaremos durante todo este curso de iniciación, dichas palabras están en el glosario, al cual iré añadiendo nuevas definiciones, conforme surjan o yo me vaya acordando, así que te recomiendo que de vez en cuando le eches un vistazo.
Ahora vamos a empezar con esta segunda entrega del Curso de Iniciación a la programación con Visual Basic .NET

Lo primero que vamos a aprender es a saber manejarnos un poco con el entorno de desarrollo (IDE) de Visual Studio .NET, sí he dicho entorno de desarrollo de Visual Studio, no de Visual Basic... y no me he confundido, ya que dicho IDE es el mismo para cualquier lenguaje .NET. Por tanto, si además de usar el VB.NET quieres hacer tus "pinitos" con el C# o con cualquier otro, no tendrás que abrir otro programa para cada uno de esos lenguajes. Incluso podrás trabajar con varios proyectos a un mismo tiempo, aunque sean de lenguajes diferentes. Además, si así lo quieres y "sabes" cómo hacerlo, puedes crear tus propios complementos para que se integren con el IDE de Visual Studio .NET.
Aunque eso, casi con total seguridad, no lo veremos en este curso de iniciación.

Lo primero que vamos a hacer es cargar el entorno de desarrollo del Visual Studio .NET, así que... ya puedes abrirlo, si es que no la has hecho ya.
En la pantalla de inicio, selecciona un nuevo proyecto. Pero esta vez vamos a seleccionar una aplicación de Windows:


Figura 1

No te preocupes, que no te voy a complicar la vida, simplemente vamos a tener algún tipo de proyecto cargado en el entorno de desarrollo, ya que lo que vamos a ver es cómo modificar y configurar algunos de los aspectos del mismo.
Déjale el nombre que te muestra, ya que nos da igual cómo se llame. (el Guille está un poco pasota, ¿verdad?)

En el proyecto, se habrá creado un formulario, el cual seguramente te lo mostrará de forma automática. Si no se mostrara nada y siguiera estando la pantalla de inicio... dale un respiro ya que seguramente se lo estará pensando... en caso de que después de pensárselo no lo mostrara tampoco... fíjate en el lado derecho de la pantalla, verás que hay un "panel" o ventana en la que se indica el proyecto actual y se muestran los ficheros que lo componen. Ese panel es el "Solution Explorer" o Explorardor de Soluciones, (te digo cómo se llama en los dos idiomas, ya que, algunas de las imágenes que te voy a mostrar están capturadas de la versión en castellano del Visual Studio .NET y otras de la versión en inglés... así cuando la veas en un idioma o en otro, sabrás de que estoy hablando).


Figura 2

Para que se muestre el formulario (Form1), haz doble click en dicho "elemento" del explorador de soluciones.
Lo que vamos a hacer ahora es cambiar la separación de los puntos que se muestran en el formulario, ese "grid" o grilla, servirá para ajustar los controles (ya sabrás de qué hablo) que se añadan a dicho formulario.
Por defecto la separación es de 8x8 puntos o pixels... y vamos a ponerlo en 4x4.
Selecciona el formulario, (el cual se supone que ya si puedes verlo), simplemente con hacer un click en él es suficiente. verás que tiene este aspecto:


Figura 3

Realmente no tendrá ese aspecto, salvo que tengas el Windows XP, pero al aspecto que me refiero es al de la separación de los puntos.

En el panel de la derecha, debajo del explorador de soluciones, está la ventana de propiedades del elemento que actualmente esté seleccionado, en nuestro caso son las propiedades del Form1. Vamos a buscar el elemento GridSize para poder cambiar el tamaño de separación. Verás que se muestran dos valores separados por punto y coma, pero también hay una cruz a la izquierda de la palabra GridSize, si pulsas en esa cruz, se mostrarán los tamaños a lo que se refiere esos valores separados por punto y coma:


Figura 4

Posiciónate en cualquiera de ellos y asígnale el valor 4, de esta forma, tendremos un formulario con una cuadrícula mas pequeña, en la que será más fácil posicionar los controles que queramos añadir al formulario en cuestión.

Fíjate que después de haber cambiado esos valores, los mismos se muestran en "negrita", indicándonos de esta forma que son valores que nosotros hemos asignado, los que tiene por defecto. También te habrás fijado que ahora el "grid" tiene los puntos más juntos. Si no te gusta así como está ahora, ponlos a tu gusto. Yo los configuro a 4x4, pero tu eres libre de ponerlos como mejor te plazca...
El aspecto habrá cambiado a este otro, te muestro el aspecto de Windows XP y el del Windows 2000 (clásico), aunque en resumidas cuentas, lo que hay que ver es que los punticos esos están más arrejuntaos...


Figura 5

Figura 6

Para añadir controles al formulario, hay que usar la barra de herramientas que está situada en la parte izquierda del IDE de Visual Studio .NET, por ejemplo para añadir una etiqueta (Label) y una caja de texto (TextBox), simplemente haz doble-click sobre esos elementos de la barra de herramientas y se añadirán al formulario.
Para poder situarlos en el sitio que más te apetezca, simplemente pulsa en ellos y manteniendo el ratón pulsado, ponlos donde más te guste... todo esto deberías saber hacerlo, ya que son cosas básicas de Windows, así que en próximas ocasiones no esperes tantas explicaciones... ¿vale?

Añade ahora un botón (Button) y sitúalo debajo del textbox. Para cambiarle el texto que muestra el botón, que por defecto será el nombre que el IDE le ha asignado, en esta ocasión será Button1, hay que usar la ventana de propiedades, en esta ocasión el elemento que nos interesa de esa ventana de propiedades es Text, escribe Mostrar y cuando pulses Intro, verás que el texto del botón también ha cambiado. Si antes has trabajado con el Visual Basic "clásico", esa propiedad se llamaba Caption. Decirte que ya la propiedad Caption no existe en ningún control, ahora se llama Text.
Haz lo mismo con la etiqueta, recuerda que tienes que seleccionarla (un click) para que se muestren las propiedades de la etiqueta, escribe Nombre: y pulsa intro.

Ahora vamos a escribir código para que se ejecute cada vez que se haga click en el botón que hemos añadido.
Para ello, selecciona el botón Mostrar y haz doble click en él, se mostrará una nueva ventana, en este caso la ventana de código asociada con el formulario que tenemos en nuestro proyecto.

Te mostrará esto: (realmente te mostrará más cosas, pero por ahora centrate sólo en este código)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

Lo que vamos a hacer ahora, como ya te he dicho, es escribir el código que se ejecutará cuando se haga click en ese botón, lo cual producirá el evento Click asociado con dicho botón, ese evento se producirá si se hace un click propiamente dicho, es decir con el ratón, o bien porque se pulse intro o la barra espaciadora cuando el botón tenga el foco.
La nomenclatura, (forma de llamar a las cosas), para los eventos de Visual Basic siguen el siguiente "esquema":
[nombre del control] [guión bajo] [nombre del evento]
Pero esto sólo es una sugerencia que Visual Basic nos hace, en las versiones anteriores no era una sugerencia, era una imposición. Podemos dejar el nombre que Visual Basic nos sugiere o podemos poner el nombre que nosotros queramos; lo importante aquí es la parte final de la línea de declaración del procedimiento: Handles Button1.Click, con esto es con lo que el compilador/intérprete de Visual Basic sabe que este procedimiento es un evento y que dicho evento es el evento Click del objeto Button1.

Un detalle: el nombre Button1 es porque hemos dejado el nombre que por defecto el IDE de Visual Studio asigna a los controles que se añaden a los formularios. Si quieres que se llame de otra forma, simplemente muestra el formulario, selecciona el control al que quieres cambiarle el nombre, busca la propiedad Name en la ventana de propiedades y cambia el nombre que allí se sugiere por el que tu quieras... o casi, ya que para los nombres de los controles, así como para otras cosas que usemos en Visual Basic hay que seguir ciertas normas:
- El nombre debe empezar por una letra o un guión bajo.
- El nombre sólo puede contener letras, números y el guión bajo.

Por tanto, si quieres cambiarle el nombre al evento que se produce cuando se hace click en el botón, escribe ese nombre después de Private Sub, aunque no es necesario cambiar el nombre del evento, ya que, al menos por ahora, nos sirve tal y como está.

Lo que si importa es lo que escribamos cuando ese evento se produzca, en este caso vamos a a hacer que se muestre un cuadro de diálogo mostrándonos el nombre que previamente hemos escrito en el cuadro de texto.
Escribe lo siguiente en el hueco dejado por el Visual Basic, la línea que hay entre Private Sub... y End Sub

MsgBox("Hola " & TextBox1.Text)

Antes de explicarte que es lo que estamos haciendo, pulsa F5 para que se ejecute el código que hemos escrito o pulsa en el botón "play" que está en la barra de botones.
Escribe algo en la caja de textos, que por defecto tendrá "TextBox1", (que es el valor que por defecto Visual Basic le asigna a la propiedad Text de dicho control), pulsa en el botón Mostrar y verás que se muestra un cuadro de diálogo diciéndote Hola y a continuación lo que hayas escrito en el TextBox.

Algo así:

Figura 7

Pues sí: ¡esta es tu primera aplicación para Windows creada con el Visual Basic .NET!
(pfiuuuuu, pfiiiiuuuu, bang! (sonido de cohetes y esas cosas))

Pulsa en el botón OK (Aceptar) para quitar el cuadro de diálogo y para cerrar el formulario, pulsa en el botón con la "x".

Ahora vamos a añadir otro botón, el cual se llamará cmdCerrar y el texto que debe mostrar es: Cerrar.
Y este es el código que debe ejecutar cuando se haga click en el... ¿te atreves a hacerlo sin ayuda? Si no te atreves, tendrás que hacerlo sin mi ayuda... creo que ya sabes cómo hacerlo... venga, no me seas holgazán... (u holgazana, puntualicemos).

Me.Close()

Pulsa F5 y cuando pulses en el botón cerrar, se cerrará el formulario.

Ahora veamos con detalle el código que hemos usado en los dos eventos:

MsgBox("Hola " & TextBox1.Text)

En este código tenemos lo siguiente:
MsgBox que es una función o método, (realmente es una clase, como casi todo en .NET), cuya tarea es mostrar en un cuadro de diálogo lo que le indiquemos en el primer parámetro, también tiene parámetros opcionales, pero por ahora usemos sólo el primero que es obligatorio.
En Visual Basic.NET todos los procedimientos que reciban parámetros deben usarse con los paréntesis, esto no era así en las versiones anteriores de VB, por tanto, para indicarle que es lo que queremos que muestre, tendremos que hacerlo dentro de los paréntesis, en este caso, queremos que se muestre la palabra "Hola " y lo que haya en la caja de texto.
La palabra Hola (seguida de un espacio) es una constante, es decir siempre será la palabra Hola seguida de un espacio, salvo que nosotros queramos que sea otra cosa... pero una vez que el programa esté compilado, siempre será lo mismo... por eso se llama constante, porque no cambia... en este caso una constante alfanumérica o de cadena, por eso va entrecomillada, ya que todos los literales o cadenas que queramos usar en nuestros proyectos deben ir dentro de comillas dobles.
Por otro lado, TextBox1.Text representa el texto que haya en la caja de textos y por tanto devolverá lo que en él hayamos escrito.
Por último, para que esas dos cadenas de caracteres, la constante Hola y el contenido de la propiedad Text del control TextBox1, se puedan unir para usarla como una sola cadena, usaremos el signo & (ampersand) el cual sirve para eso, para concatenar cadenas de caracteres y hacer que Visual Basic entienda que es una sola.
Por tanto, si la propiedad Text del control TextBox1 contenía la cadena TextBox1, (tal y como se muestra en la figura 7), al unir las dos cadenas, resultará una nueva con el siguiente contenido: "Hola TextBox1" que no es ni más ni menos que la "suma" de las dos cadenas que teníamos... (sí, ya se que soy un poco pesado con estos y que me estoy repitiendo, pero tú lee y deja que yo piense en cómo hacer que todo esto te entre en tu cabecita... ¿vale? gracias por la confianza...)

En el método del evento Click del botón cerrar hemos escrito: Me.Close()
Me representa al objeto o clase Form1 (el formulario) y el método Close lo que hace es cerrar el formulario, igual que cuando pulsamos en el botón cerrar del formulario.

Vamos a ver ahora el código completo del evento Click del botón cerrar, así como los pasos que se supone que has realizado para poder añadirlo al formulario, tal y como te dije un poco antes:

Para añadir un botón nuevo:
- haz doble click en el elemento Button de la ventana de herramientas que está a la izquierda,
- selecciona el control recién añadido, (haciendo un click simple)
- en la ventana de propiedades selecciona la propiedad Text y escribe en ella la palabra Cerrar,
- en la ventana de propiedades selecciona la propiedad Name y escribe en ella la palabra cmdCerrar,
- haz doble-click en el botón para que se muestre la ventana de código y te mostrará:

Private Sub cmdCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCerrar.Click

End Sub

- escribe el código para cerrar el formulario: Me.Close()

Nota: Para que tengas más fácil buscar las propiedades en la ventana de propiedades, puedes hacer que se muestren por orden alfabético, simplemente pulsando en el botón AZ:


Figura 8


Seguramente te estarás preguntando porqué algunas imágenes están en español y otras en inglés, (y si no te lo estás preguntando, te lo va a decir igualmente), es porque algunas capturas las hice en de la versión en castellano de la Beta 2 de Visual Studio .NET y otras en la versión en inglés, ¿la razón o motivo de esta dualidad?, la partición en la que tenía instalado la versión en español, la he formateado y cuando quise volver a instalarla, me dio tantos errores que desistí y ahora estoy usando la versión inglesa que ya tenía instalada en la partición del Windows XP. Si más adelante vuelvo a instalarla, (cosa que volveré a intentar, aunque no con tanta celeridad como me hubiese gustado, ya que al no tener la documentación en español, me da lo mismo que el entorno de trabajo esté o no en inglés... cosa que cambiará cuando esté la versión definitiva... o cuando me envíen la versión con la documentación en español... lo que antes ocurra).
Sé que estos detalles a lo mejor ni te interesan, pero tenía ganas de explicarlo... je, je.

Para terminar esta segunda entrega, vamos a crear un proyecto igual al que hasta ahora hemos usado, pero con el lenguaje C# (c sharp), para que veas que en algunas cosas es igual de sencillo usarlo, aunque en algunos aspectos es más estricto que el Visual Basic y así de camino te demuestro que no era falso eso que te dije de que en el entorno integrado del Visual Studio .NET podíamos tener varios proyectos en varios de los lenguajes soportados por .NET.

Sin cerrar el proyecto que ya tenemos, despliega el menú File/Archivos y selecciona la opción Add project (Añadir proyecto), del submenú que te mostrará selecciona Nuevo proyecto... y del cuadro de diálogo que te muestra, (como el de la Figura 1), selecciona del panel izquierdo Visual C# Pojects y del derecho Windows Application, y pulsa en el botón Aceptar.
(en la imagen siguiente te muestro también el nombre que yo le he dado: WindowsApplication1cs)


Figura 9

Se añadirá un nuevo proyecto al Explorador de soluciones, fíjate que la extensión del formulario es .cs en lugar de .vb que es la extensión que se usa en los ficheros de Visual Basic .NET.

Añade los mismos controles que en el formulario de Visual Basic y también cámbiale el nombre al botón cerrar.
Cámbiale el texto que muestra el formulario para que indique esto: Form1 para c#, ya sabes, selecciona el formulario y en la ventana de propiedades eliges la propiedad Text.
Haz doble click en el botón Mostrar y escribe este código en el procedimiento que te muestra:
MessageBox.Show("Hola " + textBox1.Text);
Fíjate que en lugar de usar MsgBox, aquí hemos usado MessageBox con la particularidad de que hay que especificar el método que queremos usar, en este caso: Show. El resto se usa igual que con VB, con la salvedad de que la concatenación de cadenas se hace usando el signo de suma (+) en lugar del ampersand (&), (eso mismo también podemos hacerlo con Visual Basic, pero te recomiendo que uses el signo & en lugar de + cuando quieras sumar cadenas de caractes en VB), y otro detalle: todas las instrucciones en C# deben acabar en punto y coma (;).
Esta función MessageBox también podemos usarla en nuestros proyectos de VB, en lugar de MsgBox, ya que es una clase que pertenece al .NET Framework y todas las clases del .NET Framework podemos usarlas en nuestros proyectos de Visual Basic .NET.

Ahora haz doble click en el botón cerrar y escribe esto otro:
this.Close();
En C# no se utiliza Me, sino this, que para el caso viene a representar lo mismo: la clase en la que se usa.

Si pulsas F5, verás que funciona de igual forma que antes... tan igual porque es el mismo proyecto de VB, la razón es porque al tener varios proyectos en el panel del explorador de soluciones, tenemos que indicarle cual de los proyectos es el que se ejecutará al pulsar F5, para cambiarlo al de C#, selecciona el nuevo proyecto añadido y pulsando con el botón derecho, selecciona del menú desplegable: Set as StartUp Project (seleccionarlo como proyecto de inicio o algo parecido en la versión española)


Figura 10

 

Pulsa F5 y se ejecutará ese proyecto, te darás cuenta que es el de c# por el caption del formulario, ya que el aspecto es idéntico al de VB, otra cosa por la que te darás cuenta de que no es el proyecto de VB es cuando pulses en el botón mostrar, el cuadro de diálogo no muestra el nombre de la aplicación, como ocurría con el proyecto de VB, (ver la figura 7), para eso ocurra, tendremos que decirle explícitamente que lo muestre:

MessageBox.Show("Hola " + textBox1.Text, Application.ProductName);

Esto mismo también es válido si queremos usar esa función desde Visual Basic.

Creo que lo vamos a dejar aquí.

Te resumo lo que hasta ahora hemos aprendido: (dice hemos, porque él también va experimentando mientras te explica, que conste, no sea que te creas que el Guille ha nacido sabiendo...)

- Crear un nuevo proyecto en Visual Basic y en C#
- Manejar varios proyectos a la vez, incluso de lenguajes distintos.
- Añadir controles a un formulario e interactuar con ellos mediante eventos.
- Codificar o decirle qué queremos que haga cuando esos eventos se produzcan.
- Usar la función MsgBox y MessageBox para mostrar cuadros de aviso.
- Concatenar (unir varias en una) cadenas de caracteres.
- Uso de la clase Application para mostrar el nombre de la aplicación.
- Uso de Me (o this en c#) para representar a la clase actual.
- Uso de las propiedades de los controles, en este caso la propiedad Text del control TextBox.
- Saber manejarte, aunque sólo sea un poco, por el entorno integrado del Visual Studio .NET
- Conceptos tales como: método, propiedad, evento, parámetro, parámetro opcional, de los cuales tienes una explicación o definición en la página del glosario, sitio al que te mandan los links que has encontrado en algunas de esas palabras.

Bueno, pues esto ha sido todo por el momento... en la próxima entrega... más.

Nos vemos.
Guillermo


ir a la entrega anterior ir al índice del curso vb.NET
 
ir al Glosario .NET
ir a la siguiente entrega

la Luna del Guille o... el Guille que está en la Luna... tanto monta...