| Artículos | 01 SEP 2003

Programación en VB.Net (III)

Tags: Histórico
Ignacio Céspedes.
Si ha seguido los capítulos que precedían a éste, sin duda ya está capacitado para desarrollar y comprender la aplicación que le planteamos a continuación. Si, por el contrario, no ha seguido este curso, échele un vistazo y no se arrepentirá.

En este capítulo explicaremos con detenimiento y con todo lujo de detalles cómo realizar una pequeña aplicación en VB.Net. Haremos hincapié en todos y cada uno de los pasos que se realicen ayudándole a involucrarse de una manera más práctica en la nueva plataforma. Y aplicando, ya que no podía ser de otra manera, los conocimientos teóricos de capítulos anteriores.
En definitiva, vamos a desarrollar una aplicación para Windows que consiste en un pequeño editor de texto que utiliza un menú para cada ventana. Dicho menú se integra en la barra principal cuando la ventana está abierta y seleccionada. Se trata de un desarrollo sencillo, pero como ya le hemos adelantado, nos ayudará a comprender cada una de las partes y los pasos a seguir de un programa de estas características.

Desarrollando el proyecto
Una vez arrancado Visual Studio .Net abrimos un nuevo proyecto de aplicación para Windows en el menú Archivo » Nuevo » Proyecto » Proyecto de Visual Basic » Aplicación para Windows.
En este momento se genera una aplicación del tipo Aplicación para Windows, presentándonos un formulario vacío y sin ningún control añadido. En este punto echaremos un vistazo al código que la aplicación ha generado automáticamente con el objetivo de ir detectando los cambios a medida que avancemos en nuestro propósito.
Echando un vistazo al código generado encontraremos lo siguiente:

Public Class Form1
Inherits System.Windows.Forms.Form
+ Código generado por el diseñador de Windows Forms
End Class
Lo primero que llama la atención es la palabra Inherits, que le indica a Visual Basic .Net que tiene que obtener las características de otra clase e incorporarlas al módulo; en este caso obtendríamos las características de la clase form, con lo que adquiere las características de una ventana de Windows.
A continuación nos crea automáticamente una región denominada código generado por el Diseñador de Windows Forms, que como su propio nombre indica es el código que se genera automáticamente por el diseñador y que contiene las instrucciones necesarias para crear y configurar los controles contenidos por el mismo. Por este motivo, a medida que insertemos nuevos controles con el diseñador esta región irá variando en contenidos.
Dentro de todo este código que genera el diseñador nos encontramos con unas instrucciones determinadas y una estructura específica que iremos desgranando poco a poco para facilitarle su comprensión.
En primer lugar nos encontramos con la instrucción MyBase.New(). Esta línea de código es utilizada para llamar a métodos de una clase base cuando se remplazan métodos en una clase derivada.
A continuación nos encontramos con la llamada InitializeComponent(),procedimiento encargado de configurar los valores del formulario, así como de todos los controles contenidos en él.
Intente ahora añadir al formulario mediante el diseñador un objeto, como por ejemplo un botón. Si después de hacerlo echa un vistazo al nuevo código generado se dará cuenta de que ha cambiado. Ahora nos encontramos con nuevo código referente al objeto botón que hemos añadido. Podrá observar que se ha añadido código referente al nuevo objeto, como su nombre, su título, su posicionamiento respecto al contenedor, etc. -ver Figura 1-.
Hay que destacar, sin duda, la línea Friend WithEvents Button1 As System.Windows.Forms.Button, ya que se genera una por cada objeto añadido indicándonos su visibilidad (Friend) y si éste contará con eventos (WithEvents).
Y por último, y antes de dar paso a lo que es el desarrollo de nuestra práctica, comentaremos el bloque <System.Diagnostics.DebuggerStepThrough() > Private Sub InitializeComponent(), que es donde se inician y configuran los distintos controles del formulario. Normalmente no se suele mostrar ningún control hasta que están todos definidos. Una vez hecho esto se mostrarán en bloque invocando a SuspendLayout().
Después nos quedará configurar las propiedades de cada uno de los objetos, hasta llegar a las propiedades del formulario.
Una vez orientados sobre cómo estructura automáticamente el diseñador de formularios, empezaremos a desarrollar según nuestro planteamiento inicial.

Comencemos nuestra primera aplicación
Partimos del formulario principal, que aparece, como es natural, sin ningún control añadido. En el caso de que haya estado haciendo pruebas le recomendamos que limpie el formulario de controles. Otra opción, si lo prefiere, es abrir uno nuevo, tal y como indicamos al comienzo.
Una vez hecho esto, añadiremos un menú sin utilizar el diseñador de formularios, ya que hacerlo dinámicamente es más interesante. Al añadir un menú dinámicamente no podrá verlo hasta ejecutar la aplicación. Esta opción está indicada en caso de no tener predefinidas las opciones de su menú. No obstante, puede observar cómo se realizaría éste utilizando el Diseñador de formularios -ver Figura 2-.
Una vez tengamos el formulario abierto y libre de controles cambiaremos su título modificando la propiedad Form1.Text, a la que llamaremos Principal (recuerde que es una de las cosas que ha cambiado con respecto a ediciones anteriores).
Al cargar el formulario, en el evento Form1_Load introduciremos el código siguiente:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
‘Variables para crear el menú principal
‘y cada una de sus opciones.
Dim MenuPrincipal As New MainMenu()
Dim Archivo As New MenuItem()
Dim NuevaVentana As New MenuItem()
Dim Salir As New MenuItem()
‘Se expecifica el Indice de cada opción y
‘el título que va a exhibir
Archivo.Index = 0
Archivo.Text = “Archivo”
NuevaVentana.Index = 0
NuevaVentana.Text = “Nueva Ventana”
Salir.Index = 0
Salir.Text = “Salir”
‘Asociamos al menú principal el MenuItem
‘principal mediante el
‘Metodo AddRange.
MenuPrincipal.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Archivo})
‘ De la misma forma y con el mismo
‘método asociaremos al MenuItem
‘ El las opciones Nueva Ventana y salir.
Archivo.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {NuevaVentana, Salir})
‘ Hacemos que el formulario sea MDI.
Me.IsMdiContainer = True
‘Y Mostramos el formulário
Me.Menu = MenuPrincipal
End Sub

Hasta el momento tenemos un menú dinámico como el que le muestra la Figura 3. Ahora hay que asociar a esas opciones alguna acción determinada. Dicha asociación se realiza de la forma siguiente:
AddHandler Salir.Click, AddressOf Salir_Click
AddHandler NuevaVentana.Click, AddressOf NuevaVentana_Click
Mediante estas dos instrucciones asociamos el clic de la opción de menú, en este cas

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información