Novedades en Visual Basic. NET 2005
[Primer ejemplo en VB .NET 2005]

Fecha: 27/Jul/2004 (25/07/04)
Autor: Adrian.S.Ponce  adrianponce@mail.com

 


Una vez mas no encontráramos para hablar de nuestras inquietudes, pero esta vez es para comentarles acerca de Visual Basic.net 2005 BETA 1 Express.

En esta semana de vacaciones estuve navegando el sitio de Microsoft y me puso muy contento al ver que por fin ya liberaron las primeras beta de lo que va a ser Whidbey o Visual Studio.Net 2005, al ver esto no dude ni un segundo y me descarga Visual Basic 20005  Express para conocer las novedades que nos depara el destino aunque ya conocía algo por haber asistida al Microsoft Briefing del 16/06/2004 realizado en Buenos Aires Argentina, donde nos mostraron un poco de lo que va a suceder pero para eso nos dejo a ellos que saben muy bien lo que va a pasar.

En visual Basic.net 2005 he visto numerosos cambios positivos y una gran mejora en los COM, COM + y Nuevos elementos en el .NET Framework 2.0.Beta

 

Comencemos

 

El ejemplo que encabeza este articulo es creo yo uno de los mas simples de elaborar pero he tratado de que si bien es un ejemplo simple sea mas que eso que sirva para demostrar nuevo métodos de sintaxis de código como los que me tuve que enfrentar a realizar este “programita”, pero por suerte visual basic 2005 cuenta con un excelente Sistema de ayuda, control de código y de depuración el cual me ayudo bastante a  trabajar de una manera mas cómoda, ágil   y eficaz. ¿Porque menciono esto? Es simple vamos a ver como visual basic depura errores en unas líneas de código que utilizábamos en VB 2003 en este caso con un  LabelLink.

 

Esta es la forma que utilizamos en Visual Basic 2003 para el LabelLink

 

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

        Dim NewProcess As Process = New Process

        NewProcess.Start("http://www.nnet.ar.gs")

 End Sub

 

Pero que pasa si estas mismas líneas las llevamos a Visual Basic 2005

 

 Nos marca con un subrayado el error que a simple vista no nos dice nada ,y pinzo si la variable esta bien cual es al problema, si observamos bien sobre el fin del subrayado hay un pequeño rectángulo eso no es nada mas que una GENIAL SmartTag que han incorporado como un método mas de depuraron de errores.

A hora veamos como nos ayuda esta nueva incorporación

Vemos que al hacer clic sobre ella o al presionar un conjunto de teclas Shitf+Alt+F10 (yo prefiera chiquear sobre elle) nos nuestra cual al es la sintaxis correcta si bien estas forma funciona “Bien” no es la correcta por eso el SmartTag nos indica y permite chiquear sobre el link que dice Replace (Como muestra el rectángulo en rojo) de esta forma nos ahorra el tipiar nuevamente el código es decir lo remplaza.

  System.Diagnostics.Process.StartNewProcess.start("http://www.nnet.ar.gs")

 Quedaría de esta forma.

 Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

    System.Diagnostics.Process.Start("http://www.nnet.ar.gs")

 End Sub

 

Hasta hora hemos visto uno de los cambios, continuemos con Otra “nueva” o (mejorada) formas que hay de depurar errores ,es una de mis preferidas, Visual Basic 2005 cuenta con un error list MUY BUENO que nos ayuda mucho ,este Error list se divide en tres partes muy bien definidas la primera es Error este como su nombre lo indico nos va a marcar la cantidad de errores en sintaxis que existen en nuestros form’s no importa la cantidad lo bueno es que como dije anterior mente nos va a indicar en cada uno de elles.

El siguiente en orden de posición es Warnig este nos advierte de los posibles errores nos deje correr el Debug sin ningún inconveniente pero siempre es bueno revisar estas advertencias. Por ultimo está  Menssages es otra manera de anunciar posibles causantes de errores y nos ofrece una potencial solución a estos.

Veamos un poco más

 

He marcado con un rectángulo de color rojo los warnings y sin marcar está el Error, en el rectángulo color negro esta el form donde se localizan los errores y warnings “advertencias” y por ultimo en el circulo las poción en numérica de líneas y columnas donde surgen los  errores y warnings.

Por ultimo al igual que su progenitor si hacemos doble clic sobre el que elijamos nos va a llevar hacia el.

 

Después de que les mostré estos dos puntos que me parecía importante destacar empecemos a trabajar, como les mencione al principio de este articulo, e elaborado mi primer “programita” en Visual Basic 2005 que  no es nada mas que un simple navegador web.

Bueno lo primero que aremos será iniciar un nuevo proyecto file New Proyect o Crtl+N.  Después seleccionaremos Windows Aplication y en el campo Name Pondremos Navegador como se nuestra en la imagen

 

 

Antes de seguir quisiera detallar algo, cuando iniciamos un nuevo proyecto en  Visual Basic 2005, este genera una carpeta en llamada Backup Files que resguardara los datos para evitar doloras perdidas  

                                     ¡Este es otro gran punto a tener en cuenta!

Una vez que se haya cargado nuestro form arrastraremos 7 componentes que son las siguientes un button1, un Textbox1, un Statusstrip1, una Label1, un Toolstrip1, Notifyicon1 y por ultimo y fundamental un Webbrowser1.

Nos quedare de esta forma como se muestra en la grafica

 

 

Para el Button1 en la propiedad FlatStyle será igual a Flat (chato), y para mostrar el progressbar en el StatusStrip1 tendremos que hacer clic sobres la pequeña tag que muestra al posarnos sobre el una vez que hicimos clic en el seleccionaremos ToolStripprogressbar como se ve en la imagen (2) antes tendremos que colocarle un text que en este caso será Cargando y el name quedara CargandoToolStripProgressBar. Imagen (1)

 

Tabla de valores / Propiedades Form 1

Componente                                           Text                                                               Name

Button1                                                     IR                                                                Button1

Textbox1                                                 Ninguno                                                    Textbox1

Label1                                                     Dirección                                                        Label1

Toolstrip1                                                Ninguno                                                Toolstrip1

Webbrowser1                                          Ninguno                                              Webbrowser1

StatusStrip1                                             NN  

StatusStrip1BarToolStripProgressBar    Cargando                              CargandoToolStripProgressBar

Notifyicon1                                             Ninguno                                                       Tray

 

Oky una vez que hayamos realizado estos pasos continuemos con el source.

 

Lo primero que haremos será tipiar el fuente correspondiente al Button1.

 

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

CargandoToolStripProgressBar.Value = 0 ‘ProgressBar valor = 0

Me.Text = "Navegardo Visual Basic 2005 " + TextBox1.Text’Url Visitada

        WebBrowser1.Navigate(TextBox1.Text) ’Ir hacia la Url escrita (Navegar)

    End Sub

 

Antes de continuar quisiera volver a resaltar otro nuevo cambio si asemos un poco de memoria recordaremos que cada vez que teníamos que trabajar con un Componente Toolbar en Visual Basic 6 realizar un case de este tipo.

Select Case Button.Key

        Case "busqueda"

        Busqueda.Show vbModal

 Case "carga"

        frmasistente.Show vbModal

End Select 

 

Era bastante complicado teníamos que recordar todos los nombres puesto a cada botón del Toolbar

Bien ahora veremos como Visual Basic 2005 nos facilita las cosas con el ToolStrip.

Solamente con hacer clic sobre el botón que queremos programar y listo¡ Veamos

 

Private Sub AtrasToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AtrasToolStripButton.Click

        WebBrowser1.GoBack()‘Ir hacia atras

    End Sub

Private Sub AvanzarToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AvanzarToolStripButton.Click

        WebBrowser1.GoForward()‘Ir hacia adelante

    End Sub

 

    Private Sub InicioToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InicioToolStripButton.Click

        WebBrowser1.Navigate("http://www.nnet.ar.gs")‘Ir hacia esta web

    End Sub

 

    Private Sub DetenerToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DetenerToolStripButton.Click

        WebBrowser1.Stop()‘Detener

    End Sub

 

    Private Sub ActualizarToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ActualizarToolStripButton.Click

        WebBrowser1.Refresh()‘Actualizar

    End Sub

 

    Private Sub ImprimirToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImprimirToolStripButton.Click

        CargandoToolStripProgressBar.Value = 0

        WebBrowser1.Print()‘Imprimir

    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click

        End‘Descargar Form / Cerrar

    End Sub

  Private Sub AcercaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AcercaToolStripMenuItem.Click

        MsgBox("Test Visual basic 2005 Gracias por descargar esta articulo te invito a que visites N.net comunidad on line y ser parte de nosotros te esperamos", MsgBoxStyle.Information) ‘Messager box

    End Sub

 

    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click

        Form2.Show()‘Iniciar Form2

    End Sub

Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click

        Form3.Show()‘Iniciar Form3

    End Sub

Para que el ProgressBar se complete hasta el 100 %  ,sobre el enveto o suceso webbrowser1_documentCompleted inserteremo este fuente.

Si bien este fuente no hace mas que poner un valor predefinido pero para este ejemplo es suficiente.

 

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

        CargandoToolStripProgressBar.Value = 100

    End Sub

 

Sobre el evento DoubleClick del Notifyicon1

 

   Private Sub ntfSystemInfo_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles tray.MouseDoubleClick

        tray.Visible = False

        Me.Show()

    End Sub

 

Y sobre el evento TrayToolStripSplitButton del Notifyicon1

 

Private Sub TrayToolStripSplitButton_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrayToolStripSplitButton.Click

        Me.Hide()

        tray.Visible = True

        tray.Text = "Navegando por Visual Basic.net 2005"

    End Sub

 

Sigamos con el Form2 auque no  hay mucho para detallar mas que lo escrito al comienzo de esta articulo.

 Para LinkLabel 1 insertaremos lo siguiente

Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked

        System.Diagnostics.Process.Start("http://www.nnet.ar.gs")’Navegar sobre esta web

    End Sub

Y para el LinkLabel 2 insertaremos esto

    Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked

        System.Diagnostics.Process.Start("mailto:adrianponce@mail.com?subject=Consultas Acerca de Visual Basic 2005")’Enviar mail a esta direccion

    End Sub

El Form3 lo e elaborado con un solo fin seguir mostrando algunos de los cambios que me siguen sorprendiendo, en este caso es el TabControl la nuevo versión del TabStrip que utilizábamos en Visual Basic 6.

Recordemos un poco de el código.

 Private Sub TabStrip1_Click()

    'Cuando se pulsavamos  sobre el tabstrip...

    Dim i&

    i = TabStrip1.SelectedItem.Index

    'Mostrar la languenta que corresponda

    frame(i - 1).ZOrder’Comenza por el frame(0)

 End Sub

Como vemos teníamos que crear una matriz de controles con un Frame y según la cantidad de lengüetas (Tab) que tengamos y dentro de cada frame los objetos correspondiente ,etc.

Ya en visual basic.net 2002 y 2003 se podía ver ciertas mejoras con respecto a este control pero a hora Gracias a Visual Basic 2005, este dolor de cabeza finalizó.

Ejemplo: para agregar un textbox1 a una Lengüeta (Tab) con solo chiquear sobre la deseada y colocar los controles es suficiente ya no deberemos utilizar sendBack (enviar al fondo)

Como lo hacíamos en Visual Basic 6.

                                     ¡Este es otro gran punto a tener en cuenta!

 

Bueno para el form3 agregaremos en el primer tab un Frame,dos checkbox  y dos Button    Y para el segundo tab solamente un checkbox, la inserción de un solo chacekbox para el segundo tab es solamente para mostrar como se inserte un poco de Visual basic Scrip.

Sobre el boron Aceptar

Private Sub Aceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Aceptar.Click, Button4.Click

        If CheckBox2.CheckState = CheckState.Checked Then

            Form1.TextBox1.Visible = False

        Else

            Form1.TextBox1.Visible = True

        End If

        If CheckBox1.CheckState = CheckState.Checked Then

            Form1.ToolStrip1.Visible = False

        Else

            Form1.ToolStrip1.Visible = True

        End If

    End Sub

Sobre el boton cancelar

 Private Sub cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cancelar.Click

        Me.Close()

    End Sub

 Y para el check password

 Private Sub Password_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Password.CheckedChanged, Password.CheckedChanged

        InputBox("Escribe la contraseña." & Chr(10) & Chr(13) & ""

    End Sub

 

 

Bueno espero que les halla sido útil Nos vemos

Otras Fuentes acerca de N.NET

http://www.nnet.ar.gs

 


 Fichero con el código de ejemplo: adrianponce_Navegador - Tamaño 38 KB

Nota del Guille:
El código es para usar con la Beta 1 de Visual Basic 2005 (versión Express o normal)


Adrián S. Ponce (adrianponce@mail.com), Neuquén Capital, Argentina, es Programador. Desarrolla aplicaciones en VB 6, VB.net, C#.Net, ASP.NET, Aplicaciones móviles Trabaja en, Municipalidad de Neuquén en donde se encarga de crear sistemas y aplicaciones de ofimática abocadas a mejorar el rendimiento y facilitar el trabajo diario.


ir al índice