Вы находитесь на странице: 1из 6

Creando una pantalla de inicio o splash en Visual Basic .

NET
Introduccin
Muchos desarrolladores crean en sus aplicaciones una pantalla inicial que se encarga de evaluar o cargar diferentes acciones y valores para ser utilizados en la aplicacin. A esa pantalla inicial se la conoce en el argot informtico con el nombre de splash, aunque nosotros la denominaremos pantalla de inicio, por intentar a toda costa de huir de los anglicismos que ya nos invaden de por s nuestra rica lengua. En este artculo, vamos a aprender a desarrollar en pocos pasos, una aplicacin que ejecute una pantalla de inicio que se lanzar al iniciar nuestra aplicacin. El control de la aplicacin lo seguir teniendo nuestro formulario principal, pero daremos la orden de mostrar en primer lugar esta pantalla de inicio que se puede encargar de diferentes tareas. En nuestro ejemplo, se encargar de una tarea muy bsica, la de mostrar una informacin del equipo y cerrarse la ventana pasados dos segundos. En realidad los mecanismos de cerrar la pantalla de inicio pueden ser variados, pero en este ejemplo hemos decidido utilizar un control Timer que nos libera de gran carga del desarrollo de nuestro ejemplo.

Diseando nuestra aplicacin


Obviamente iniciaremos nuestro entorno de desarrollo rpido o Visual Studio .NET en mi caso, e iniciaremos un nuevo proyecto de Visual Basic seleccionando como plantilla, una plantilla de Aplicacin para Windows. El nombre del proyecto no es relevante, pero en mi caso y si desea seguir los mismos pasos de proyecto que yo estoy realizando, he decidido darle el nombre de Aplicacion_Splash. Crearemos nuestro proyecto y tendremos un formulario inicial de nombre Form1 que es el formulario que crea Visual Studio .NET por defecto. Este formulario inicial es el formulario principal de nuestra aplicacin, pero no es este el formulario que deseamos utilizar como ventana de inicio de nuestra aplicacin, por lo que deberemos aadir un nuevo formulario a nuestra aplicacin. Para aadir un nuevo formulario a nuestra aplicacin, deberemos hacer clic con el botn derecho del ratn sobre el proyecto y seleccionar la opcin Agregar > Agregar Windows Forms del men emergente que aparece. En este momento, aparecer una ventana en la que podremos seleccionar la plantilla que deseamos utilizar. En nuestro caso utilizaremos una plantilla de Windows Forms que es la que hemos seleccionado, y como nombre del proyecto, dejaremos el nombre de Form2 que aparece por defecto, ya que no es especialmente relevante el nombre del formulario en nuestro proyecto.

En este momento, ya tenemos los dos formularios de nuestra aplicacin, el formulario principal o Form1 y el formulario que utilizaremos como ventana de inicio o Form2, sobre el cul, deberemos realizar un conjunto de modificaciones para adecuarlo a nuestras necesidades. En primer lugar, actuaremos sobre la ventana de inicio o Form2, ya que aunque es el objetivo de nuestro ejemplo, en realidad no esconde grandes misterios. Nos dedicaremos a preparar el formulario de manera tal que le demos un aspecto un tanto especfico como ventana inicial. En primer lugar modificaremos la propiedad Text del formulario para dejarla en blanco, sin ningn texto. Asmismo, a la propiedad StartPosition, la daremos el valor CenterScreen. De esta manera, el formulario se presentar en el centro de la pantalla de nuestro PC. Sobre las propiedades de presentacin, modificaremos en primer lugar la propiedad ShowInTaskbar para darla el valor False, ya que no deseamos que se muestre el formulario en la barra de herramientas de Windows. Adems, modificaremos las propiedades MinimizeBox y MaximizeBox, a las que daremos el valor de False. Por ltimo para dar el valor de presentacin adecuado, modificaremos la propiedad ControlBox dndole el valor False. En este momento, slo nos queda rematar la faena con la modificacin de un par de propiedades ms. Por un lado, la propiedad FormBorderStyle posee el valor Sizable por defecto. Nuestro deseo es el de mostrar la ventana inicial como ventana plana, por lo que cambiaremos su propiedad para darla el valor FixedSingle. Ahora tan slo nos queda establecer el tamao de presentacin de nuestra ventana, por lo que acudiremos a las propiedades Size establecidas por Width y Height y modificaremos sus valores de acuerdo a nuestras necesidades. En mi caso, he decidido darlas los valores 420 y 300. Se puede decir que tan slo hemos preparado la parte de presentacin de nuestra ventana de inicio, pero falta hacer una cosa antes, y es controlar el tiempo que esta ventana aparecer activa. Como dije al principio del artculo, nuestro ejemplo constar de un control Timer que har las veces de contador y nos permitir establecer el tiempo que queremos que la ventana de inicio se muestre. Podemos contemplar otras alternativas, pero digamos que en este ejemplo, he querido utilizar esta tcnica, por lo que a continuacin, deberemos aadir un control Timer a

nuestro formulario, por lo que seleccionaremos un control Timer del cuadro de herramientas, y lo soltaremos sobre el formulario Form2. En este momento, podemos inicializar el control Timer desde el formulario Form1 (recordemos que es el formulario principal de la aplicacin y que desde l llamaremos a la ventana de inicio y por tanto tendremos acceso a los objetos del formulario Form2) o bien, podemos inicializar los valores de este control directamente. La forma ms sencilla es la segunda, mientras que la primera alternativa, tan slo contempla como complejidad que debemos saber llamar a los controles del formulario Form2 al instanciarlo desde el formulario Form1, por lo que para que sirva de prctica, vamos a utilizar esta tcnica. Y qu debemos hacer ahora?, pues dejar bonito la ventana de inicio para que muestre la informacin que queremos mostrar. En mi ejemplo, he decidido insertar en el formulario Form2 un control GroupBox y 10 controles Label. Estos controles los he dispuesto de la forma que se presenta en la Figura 1.

Figura 1. Ahora que ya tenemos construido y preparado el diseo de nuestra aplicacin de inicio, pasaremos a disear el formulario principal o Form1.

nicamente aadiremos un control Button al formulario Form2 al que modificaremos la propiedad Text para darle el valor Salir de la Aplicacin. Ahora tan slo, nos falta aadir el cdigo de nuestra aplicacin, parte de programacin en s que nos facilitar la presentacin de la ventana de inicio.

Programando la aplicacin
En primer lugar, programaremos la ventana inicial o Form2. El cdigo de nuestro formulario es el que se detalla a continuacin:

Formulario de aplicacin VB .NET [Code] Form2.vb


Public Class Form1 Inherits System.Windows.Forms.Form [...] Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Cargamos valores de presentacin como 'el directorio de ejecucin de la aplicacin, 'el nombre del equipo, del usuario o cultura Label6.Text = "Directorio de ejecucin: " & Environment.CurrentDirectory.ToString Label7.Text = "Nombre del Equipo: " & Environment.MachineName.ToString Label8.Text = "Nombre del Usuario: " & Environment.UserName.ToString Label9.Text = "Idioma (cultura): " & Application.CurrentCulture.ToString End Sub 'Funcin para cerrar la ventana Private Function Cerrar_Ventana() 'Dentro de esta funcin, podramos realizar diferentes acciones 'como escribir un evento en el log o cualquier otra que 'consideremos oportuna (chequeo de errores, etc) Me.Close() End Function Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 'Utilizamos una variable esttica que almacenar 'su valor cada vez que entremos en este evento Static bteContador As Byte 'Teniendo en cuenta que el intervalo es de 1000 ms (1 sg) 'a los 2 segundos pasaremos a finalizar la ventana de inicio If bteContador = 2 Then 'Paramos el control Timer Timer1.Stop() 'Lo deshabilitamos para asegurarnos su parada Timer1.Enabled = False 'Llamamos a la funcin encargada de cerrar la ventana de inicio Cerrar_Ventana() Else

'Incrementamos en una unidad la variable esttica bteContador = bteContador + 1 End If End Sub End Class

Sin embargo, esta parte del cdigo es intil sino ejecutamos el formulario Form2 desde el formulario principal o formulario Form1, asi que vamos a aadir a continuacin el cdigo de nuestro formulario principal, que es el siguiente:

Formulario de aplicacin VB .NET [Code] Form1.vb


Public Class Form1 Inherits System.Windows.Forms.Form [...] Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Botn para salir de la Aplicacin Me.Close() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Parte de cdigo para cargar la ventana de inicio 'Instanciamos la ventana de inicio Dim MiSplashForm As New Form2() 'Modificamos los valores del control Timer 'de la ventana de inicio With MiSplashForm.Timer1 .Interval = 1000 .Enabled = True End With 'Cargamos la ventana de inicio MiSplashForm.ShowDialog(Me) MiSplashForm.Dispose() End Sub End Class

Y de esta forma, ya tenemos lista nuestra aplicacin que inicialmente mostrar la ventana de inicio y posteriormente la cerrar mostrando el formulario de la ventana principal de la aplicacin.

Ejecutando nuestra aplicacin


Para comprobar que nuestra aplicacin funciona correctamente y tal y como la hemos diseado, pulsaremos el botn F5 de ejecucin pudiendo observar el correcto funcionamiento de nuestra aplicacin, incindose una ventana de inicio al principio, para dos segundos ms tarde, cerrarla e iniciar el formulario principal de nuestra aplicacin, tal y como se muestra en la figura 2.

Figura 2. Con esta demostracin, hemos comprobado el correcto funcionamiento de nuestra aplicacin.

Conclusin
Ya estamos preparados para aadir ventanas de inicio a nuestras aplicaciones y ya sabemos como hacerlo. Hemos comprobado lo realmente sencillo que resulta y como de una forma fcil, podemos aadir un aspecto ms profesional a nuestros desarrollos, utilizando esta ventana de inicio para acciones que sean transparentes al usuario (carga de variables, conexin con base de datos, chequeo de errores previos, etc). AL hacer el timer tiene que ser static el contador de segundos sino no funciona poniendo dim.. xDD
habr ocasiones en que no queramos que esos valores de las variables locales se pierdan, en Visual Basic podemos hacerlo declarando las variables usando la instruccin Static en lugar de Dim. Static le indica al compilador que esa variable debe mantener el valor entre distintas llamadas al procedimiento, para que de esa forma no se pierda el valor que tuviera.

Вам также может понравиться