[Serie Yugong] Explicación detallada de los controles LinkLabel en los controles Winform en septiembre de 2023


prefacio

Los controles de Winform son elementos de la interfaz de usuario en Windows Forms. Se pueden usar para crear varios componentes visuales e interactivos de aplicaciones de Windows, como botones, etiquetas, cuadros de texto, cuadros de lista desplegable, casillas de verificación, cuadros de opción, barras de progreso, etc. . . Los desarrolladores pueden utilizar controles de Winform para crear interfaces de usuario y responder a las acciones del usuario para crear potentes aplicaciones de escritorio.

1. Explicación detallada del control LinkLabel

El control LinkLabel (etiqueta de enlace) es un control estándar en Windows Forms, que se utiliza para mostrar hipervínculos en el formulario. Es similar a un control de etiqueta normal, pero puede convertir automáticamente URL, direcciones de correo electrónico o rutas de archivos locales en el texto en enlaces en los que se puede hacer clic, para que los usuarios puedan saltar a la ubicación correspondiente.

En Winform, se puede agregar al formulario a través del control LinkLabel en la Caja de herramientas. En tiempo de diseño, puede configurar las propiedades del control, como el contenido del texto, la fuente, el color, el color del enlace, el estilo de fuente, etc.

En el código, puede responder cuando el usuario hace clic en un enlace configurando el controlador de eventos LinkClicked del control. Por ejemplo, el siguiente código muestra cómo abrir el navegador predeterminado del sistema y saltar a la URL especificada en el evento LinkClicked:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    
    
    System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}

Al utilizar el control LinkLabel, debe prestar atención a los siguientes puntos:

  • Si hay un espacio en el texto, debe utilizar " " (espacio sin separación); de lo contrario, el espacio se reemplazará automáticamente con "%20";
  • Si hay caracteres especiales en el texto, debe utilizar el símbolo "&" para escapar, como "<" en lugar del signo menor que, ">" en lugar del signo mayor que;
  • Si desea que el enlace abra un archivo local, debe agregar el prefijo "archivo://" antes del enlace, como "archivo://C:/ruta/al/archivo";
  • Si desea que el vínculo aparezca como texto sin formato en lugar de un vínculo, puede establecer la propiedad LinkBehavior del control en NeverUnderline.

1. Introducción de atributos

1.1 Área de enlace

La propiedad LinkArea del control LinkLabel se utiliza para especificar el área de texto que debe asociarse con el hipervínculo. De forma predeterminada, el control LinkLabel convierte cualquier cadena del texto que coincida con el formato de una URL, dirección de correo electrónico o ruta de archivo local en un hipervínculo. Pero a veces solo necesitamos configurar una determinada parte del texto como hipervínculo, que se puede controlar configurando la propiedad LinkArea.

La propiedad LinkArea acepta una estructura LinkArea como valor, que define el rango de texto que debe asociarse con el hipervínculo. La estructura tiene dos propiedades: Inicio y Longitud, que representan respectivamente la posición inicial y la longitud del texto a asociar. Por ejemplo, el siguiente código establece la primera palabra en un control LinkLabel como un hipervínculo:

linkLabel1.Text = "Click here to go to Google";
linkLabel1.LinkArea = new LinkArea(0, 5);

Cabe señalar que al configurar la propiedad LinkArea, la posición inicial y la longitud son índices de base cero. Si necesita mostrar hipervínculos complejos en el control LinkLabel, se recomienda utilizar el control RichTextBox, que admite configuraciones de estilo y formato de texto más enriquecido.

inserte la descripción de la imagen aquí

1.2 Comportamiento del enlace

La propiedad LinkBehavior del control LinkLabel se utiliza para establecer el modo de visualización del hipervínculo. Se puede configurar con los siguientes valores:

  1. SystemDefault: el valor predeterminado, que utiliza los estilos existentes en el sistema para mostrar hipervínculos.

  2. AlwaysUnderline: muestra siempre un subrayado.

  3. HoverUnderline: muestra un subrayado cuando el mouse pasa sobre él.

  4. NeverUnderline: nunca muestra subrayados.

Instrucciones:

Seleccione el control LinkLabel en la ventana de diseño, busque la propiedad LinkBehavior en la ventana de propiedades y seleccione el valor deseado. También se puede configurar en código:

linkLabel1.LinkBehavior = LinkBehavior.AlwaysUnderline; 

Esto hará que los hipervínculos siempre aparezcan subrayados.

1.3 ActiveLinkColor, DisabledLinkColor y LinkColor

El control LinkLabel es uno de los controles más utilizados en Winform y se utiliza para mostrar texto de hipervínculo. Tiene tres propiedades importantes: LinkColor, ActiveLinkColor y DisabledLinkColor, que se utilizan para controlar los tres estados del texto del enlace en LinkLabel: estado predeterminado, estado cuando el mouse se mueve sobre el enlace y estado deshabilitado.

Propiedad LinkColor

La propiedad LinkColor se utiliza para controlar el color predeterminado del texto del enlace en LinkLabel. De forma predeterminada, el color del texto del enlace en LinkLabel es azul; si necesita cambiarlo, puede lograrlo configurando la propiedad LinkColor.

Por ejemplo, para establecer el color del texto del enlace en LinkLabel en rojo:

linkLabel1.LinkColor = Color.Red;

Propiedad ActiveLinkColor

La propiedad ActiveLinkColor se utiliza para controlar el color del texto del enlace en LinkLabel cuando se selecciona con el mouse. Cuando el mouse se mueve sobre el texto del enlace, el texto del enlace cambiará al color establecido por ActiveLinkColor.

Por ejemplo, para establecer el color del texto vinculado en LinkLabel en verde cuando se selecciona con el mouse:

linkLabel1.ActiveLinkColor = Color.Green;

Propiedad DisabledLinkColor

La propiedad DisabledLinkColor se utiliza para controlar el color del texto del enlace en LinkLabel cuando está deshabilitado. Cuando LinkLabel está deshabilitado (Enabled = false), el texto del enlace cambiará al color establecido por DisabledLinkColor.

Por ejemplo, para establecer el color del estado deshabilitado de un enlace en LinkLabel en gris:

linkLabel1.DisabledLinkColor = Color.Gray;

Cabe señalar que cuando LinkLabel está deshabilitado, el enlace no responderá y no se podrá hacer clic en él. Por lo tanto, cuando utilice el control LinkLabel, debe controlar el valor de la propiedad Enabled de acuerdo con las necesidades reales.

1.4 Imagen

La propiedad Imagen del control LinkLabel se utiliza para establecer la imagen junto al texto del enlace. Si se establece la propiedad Imagen, se muestra una imagen junto al texto del enlace y el texto del enlace cambia automáticamente de tamaño y posición según sea necesario.

Estos son los pasos para usar la propiedad Imagen del control LinkLabel:

  1. Agregue un control LinkLabel al formulario.
  2. Abra el panel Propiedades en el diseñador de formularios.
  3. En el panel de propiedades, busque la propiedad Imagen y haga clic en el botón junto a ella para abrir el cuadro de diálogo del selector de imágenes.
  4. En el cuadro de diálogo del selector de imágenes, seleccione la imagen que desea mostrar junto al texto del enlace y haga clic en el botón Aceptar.
  5. Verifique la visualización en el control LinkLabel y ajuste la posición y el tamaño del texto del enlace si es necesario.

Tenga en cuenta que la propiedad Imagen del control LinkLabel solo puede mostrar una imagen. Si necesita mostrar varias imágenes junto al texto del enlace, debe utilizar otros controles o controles personalizados para lograrlo.

1.5 LinkVisited y VisitedLinkColor

El control LinkLabel es un control de uso común en Winform, que se utiliza para mostrar hipervínculos. En el control LinkLabel, hay dos atributos relacionados con el estado de visita del enlace, a saber, LinkVisited y VisitedLinkColor.

  1. EnlacePropiedad visitada

El atributo LinkVisited indica si el enlace ha sido visitado, es un atributo booleano. De forma predeterminada, el vínculo en el control LinkLabel no ha sido visitado y el valor de la propiedad LinkVisited es falso. Cuando el usuario hace clic en el enlace y lo visita, el valor del atributo LinkVisited se establecerá automáticamente en verdadero. Cuando la propiedad LinkVisited se establece en verdadero, el control LinkLabel utilizará el color especificado por la propiedad VisitedLinkColor para mostrar los enlaces visitados.

  1. Propiedad VisitedLinkColor

La propiedad VisitedLinkColor se utiliza para establecer el color de los enlaces visitados. De forma predeterminada, los enlaces visitados están coloreados en azul. Si se establece la propiedad VisitedLinkColor, los enlaces que se hayan visitado se mostrarán en el color especificado.

El siguiente es un ejemplo del uso de las propiedades LinkVisited y VisitedLinkColor en el control LinkLabel:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    
    
    // 设置LinkVisited属性为true,以便已访问过的链接显示不同的颜色
    this.linkLabel1.LinkVisited = true;
    
    // 在浏览器中打开链接
    System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}

private void linkLabel1_MouseEnter(object sender, EventArgs e)
{
    
    
    // 当鼠标移动到链接上时,将链接的颜色改为橙色
    this.linkLabel1.LinkColor = Color.Orange;
}

private void linkLabel1_MouseLeave(object sender, EventArgs e)
{
    
    
    // 当鼠标移开链接时,将链接的颜色改回默认颜色
    this.linkLabel1.LinkColor = Color.Blue;
}

private void Form1_Load(object sender, EventArgs e)
{
    
    
    // 设置VisitedLinkColor属性为绿色
    this.linkLabel1.VisitedLinkColor = Color.Green;
    
    // 添加链接
    this.linkLabel1.Links.Add(0, 3, "https://www.baidu.com");
}

En el código de ejemplo anterior, cuando el mouse está sobre el enlace, el color del enlace cambia a naranja; cuando el mouse se aleja del enlace, el color del enlace vuelve al color predeterminado (azul). En el evento Form1_Load, establezca la propiedad VisitedLinkColor en verde y agregue un enlace. Cuando el usuario hace clic en el enlace y lo visita, el enlace se mostrará en verde para mostrar el estado de visita.

2. Escenarios comunes

El control LinkLabel es uno de los controles más utilizados en Winform, se utiliza principalmente para mostrar texto de hipervínculo, cuando el usuario hace clic en el enlace, puede activar el evento correspondiente. Los siguientes son escenarios comunes para el control LinkLabel:

  1. Mostrar enlace URL: cuando necesite mostrar un enlace URL en Winform, puede usar el control LinkLabel, para que los usuarios puedan acceder directamente a la URL cuando hagan clic en el enlace.

  2. Mostrar enlace al documento de ayuda: cuando sea necesario proporcionar un enlace al documento de ayuda en Winform, puede usar el control LinkLabel, de modo que cuando el usuario haga clic en el enlace, se pueda abrir el documento de ayuda correspondiente.

  3. Mostrar avisos legales y de derechos de autor: cuando necesite mostrar avisos legales y de derechos de autor en Winform, puede usar el control LinkLabel, para que los usuarios puedan ver los avisos legales y de derechos de autor correspondientes cuando hagan clic en el enlace.

  4. Mostrar otros enlaces de aplicaciones: cuando necesite mostrar otros enlaces de aplicaciones en Winform, puede usar el control LinkLabel, de modo que cuando el usuario haga clic en el enlace, se pueda iniciar la aplicación correspondiente.

3. Casos específicos

Un posible caso de uso para utilizar el control LinkLabel es crear una sección de presentación de documento de ayuda en un formulario de aplicación.

Primero, abra Visual Studio y cree un nuevo proyecto de aplicación de Windows Forms. Arrastre y suelte un control LinkLabel, un control Label y un control TextBox en el formulario.

Establezca la propiedad Texto del control LinkLabel en "Documentación de ayuda" y establezca las propiedades LinkColor y VisitedLinkColor para enfatizar que el control es un vínculo. Puede configurar otras propiedades según sea necesario, como información sobre herramientas, fuente, etc.

A continuación, maneje el evento Click del control LinkLabel. Abra la vista de código y agregue el siguiente código a la clase de formulario:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    
    
    textBox1.Text = "这里展示帮助文档内容。";
    label1.Visible = true;
}

Este método se llamará cuando el usuario haga clic en el control LinkLabel y el contenido del documento de ayuda se mostrará en el control TextBox. Además, se muestra un mensaje al configurar la propiedad Visible del control Etiqueta para informar al usuario que se ha cargado el documento de ayuda.

Finalmente, para mejorar la experiencia del usuario, se puede agregar algún código de inicialización al método de procesamiento de eventos Cargar de la clase de formulario, como establecer la propiedad Visible del control Etiqueta en falso y ocultar la información del mensaje al iniciar la aplicación.

private void Form1_Load(object sender, EventArgs e)
{
    
    
    label1.Visible = false;
}

Ahora ejecute la aplicación, cuando el usuario haga clic en el control LinkLabel, debería poder ver el contenido del documento de ayuda que se muestra en el cuadro de texto y se muestra la información del mensaje.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/aa2528877987/article/details/132683882
Recomendado
Clasificación