Novedades en Visual Basic.
NET 2005 Fecha: 27/Jul/2004 (25/07/04)
|
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.Start
NewProcess.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:[email protected]?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
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 ([email protected]), 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.