El VB.NET LinkLabel

LinkLabel, nuevo en Visual Basic .NET, es un control estándar que le permite incrustar enlaces de estilo web en un formulario. Al igual que muchos controles VB.NET, este no hace nada que no pudieras hacer antes ... pero con más código y más problemas. Por ejemplo, VB 6 tenía el Navegar (y Navigate2 cuando el primero resultó inadecuado) métodos que podría usar con una cadena de texto de URL para llamar a una página web.

LinkLabel es mucho más conveniente y sin problemas que las técnicas más antiguas. Pero, en sincronización con la arquitectura .NET, LinkLabel está diseñado para ser utilizado con otros objetos para hacer todo el trabajo. Todavía necesita usar un comando separado para iniciar un correo electrónico o navegador, por ejemplo. El código de ejemplo se incluye a continuación..

La idea básica es poner la dirección de correo electrónico o URL web en la propiedad Text de un componente LinkLabel, luego, cuando se hace clic en la etiqueta, el LinkClicked Se activa el evento. Hay más de cien métodos y objetos disponibles para el objeto LinkLabel, incluidas las propiedades para manejar todo lo que desee hacer con un enlace, como cambiar el color, el texto, la posición, cómo se comporta al hacer clic en él ... ¡lo que sea! Incluso puede verificar los botones y las posiciones del mouse y probar si Alt, Cambio, o Ctrl las teclas se presionan cuando se hace clic en el enlace. Se muestra una lista en la siguiente ilustración:

--------
Haga clic aquí para mostrar la ilustración.
Haga clic en el botón Atrás en su navegador para volver
--------

Un objeto con un nombre realmente largo también se pasa a este evento: LinkLabelLinkClickedEventArgs. Afortunadamente, este objeto se instancia con el bonito nombre corto utilizado para todos los argumentos de eventos, mi. los Enlace El objeto tiene más métodos y propiedades. La siguiente ilustración muestra el código del evento y el Enlace objeto.

--------
Haga clic aquí para mostrar la ilustración.
Haga clic en el botón Atrás en su navegador para volver
--------

Normalmente usará el Texto propiedad de la Enlace objetar para obtener una URL o dirección de correo electrónico y luego pasar este valor a System.Diagnostics.Process.Start.

Para abrir una página web ...

System.Diagnostics.Process.Start ("http://visualbasic.about.com")

Para iniciar un correo electrónico utilizando el programa de correo electrónico predeterminado ...

System.Diagnostics.Process.Start ("mailto:" & "[email protected]")

Pero está realmente limitado solo por su imaginación al usar las cinco sobrecargas del comienzo método. Podría, por ejemplo, iniciar el juego Solitario:

System.Diagnostics.Process.Start ("sol.exe")

Si coloca un archivo en el campo de cadena, el programa de procesamiento predeterminado para ese tipo de archivo en Windows se iniciará y procesará el archivo. Esta declaración mostrará MyPicture.jpg (si está en la raíz de la unidad C :).

System.Diagnostics.Process.Start ("C: MyPicture.jpg")

Puede usar LinkLabel casi como un botón simplemente colocando cualquier código que desee en el evento LinkClicked en lugar del método de Inicio.

La investigación de las cientos de otras posibilidades va mucho más allá del alcance de este artículo, pero aquí hay algunos ejemplos para comenzar.

Un nuevo concepto utilizado en LinkLabel es la idea de que puede haber múltiples enlaces en un LinkLabel y todos están almacenados en un LinkCollection tipo. El primer elemento, Enlaces (0), en la colección se crea automáticamente aunque puede controlar lo que está utilizando el LinkArea propiedad de LinkLabel. En el ejemplo a continuación, la propiedad Text de LinkLabel1 se establece en "FirstLink SecondLink ThirdLink", pero solo los primeros 9 caracteres se especifican como un enlace. La colección Links tiene un Contar de 1 porque este enlace se agregó automáticamente.

Para agregar más elementos a la colección Links, solo use el Añadir método. El ejemplo también muestra cómo ThirdLink se puede agregar como parte activa del enlace.

--------
Haga clic aquí para mostrar la ilustración.
Haga clic en el botón Atrás en su navegador para volver
--------

Es fácil asociar diferentes objetivos con las diferentes partes del texto del enlace. Simplemente configure la propiedad LinkData. Para hacer que FirstLink apunte a la página web Acerca de Visual Basic y ThirdLink apunte a la página web principal About.Com, simplemente agregue este código a la inicialización (las dos primeras declaraciones se repiten de la ilustración anterior para mayor claridad):

LinkLabel1.LinkArea = Nuevo LinkArea (0, 9)
LinkLabel1.Links.Add (21, 9)
LinkLabel1.Links (0) .LinkData = "http://visualbasic.about.com"
LinkLabel1.Links (1) .LinkData = "http://www.about.com"

Es posible que desee hacer algo como esto para personalizar los enlaces para diferentes usuarios. Puede usar el código para hacer que un grupo de usuarios vaya a un objetivo diferente que otro grupo.

Microsoft "vio la luz" sobre los hipervínculos con VB.NET e incluyó todo lo que quiera hacer con ellos.