[Serie Yugong] Explicación detallada del control de información sobre herramientas en el tema especial del control de 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 radio, 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 de información sobre herramientas

El control ToolTip es un control estándar en Winform, que se utiliza para proporcionar información breve sobre elementos de la interfaz de usuario. Cuando el puntero del mouse pasa sobre el control, aparece una ventana flotante que contiene el texto de información sobre herramientas especificado.

Para utilizar el control ToolTip, puede seguir estos pasos:

  1. En la caja de herramientas de Visual Studio, busque el control ToolTip y arrástrelo al formulario.

  2. Establezca las propiedades del control ToolTip en la ventana de propiedades. Por ejemplo, la propiedad ToolTipText puede establecer el texto del mensaje y la propiedad InitialDelay puede establecer el tiempo de retraso de visualización, etc.

  3. Asocie el control ToolTip con el control que requiere información rápida. Esto se puede lograr en tiempo de diseño estableciendo la propiedad ToolTip de cada control, o en tiempo de ejecución llamando al método SetToolTip del control ToolTip.

Por ejemplo, el siguiente código asocia un control de información sobre herramientas con un botón y muestra el mensaje "Haga clic aquí" cuando se pasa el mouse:

private void Form1_Load(object sender, EventArgs e)
{
    
    
    ToolTip toolTip1 = new ToolTip();
    toolTip1.SetToolTip(this.button1, "点击这里");
}

De esta manera, cuando el usuario pasa el mouse sobre el Botón, se mostrará una ventana flotante que contiene el texto del mensaje "Haga clic aquí".

Insertar descripción de la imagen aquí

1. Introducción a las propiedades

1.1 Activo

La propiedad Activa del control ToolTip se utiliza para controlar si el control está activado. Cuando la propiedad Active es verdadera, el control ToolTip puede mostrar información de solicitud; cuando la propiedad Active es falsa, no se mostrará.

En Winform, la propiedad Activa del control ToolTip se puede configurar mediante código en tiempo de ejecución. Por ejemplo, el siguiente código establece la propiedad Activa de un control ToolTip denominado información sobre herramientas1 en falso:

toolTip1.Active = false;

Cuando la propiedad Activa es falsa, incluso si el control ToolTip está asociado con el control, no se mostrará ninguna información cuando el mouse esté sobre el control.

Cabe señalar que, en general, no es necesario configurar manualmente la propiedad Activa del control ToolTip porque se activará o desactivará automáticamente según el estado del control. Por ejemplo, después de asociar el control ToolTip con un botón, el control ToolTip se activará y mostrará información de solicitud solo cuando Button.Enabled sea verdadero; cuando Button.Enabled sea falso, el control ToolTip también se desactivará automáticamente y no se mostrará. Información inmediata.

Si necesita controlar manualmente el estado de activación del control ToolTip, puede configurar la propiedad Activo cuando sea necesario. Al configurar la propiedad Activa, primero debe determinar si el control existe; de ​​lo contrario, puede ocurrir una excepción de referencia nula. Por ejemplo, el siguiente código determina si el control ToolTip denominado toolTip1 existe y, si existe, establece su propiedad Active en falso:

if (toolTip1 != null)
{
    
    
    toolTip1.Active = false;
}

1.2 Retraso automático, Retraso emergente automático, Retraso inicial, ReshowDelay

El control ToolTip es un control de uso común en Winform, que puede mostrar información de solicitud específica cuando el mouse pasa sobre el control. El control ToolTip tiene cuatro propiedades de uso común: AutomaticDelay, AutoPopDelay, InitialDelay y ReshowDelay.

  1. AutomaticDelay: retraso automático, que representa el tiempo de retraso para que se muestre la información solicitada cuando el mouse pasa sobre el control. El valor predeterminado es 500 milisegundos.

  2. AutoPopDelay: retraso de aparición automática, que indica el tiempo de retraso para la ocultación automática después de que se muestra la información del mensaje. El valor predeterminado es 5000 milisegundos.

  3. InitialDelay: retraso inicial, que representa el tiempo de retraso para que la información solicitada comience a mostrarse cuando el mouse pasa sobre el control. El valor predeterminado es 500 milisegundos.

  4. ReshowDelay: retraso de visualización repetido, lo que significa que después de que se ha mostrado la información del mensaje, cuando el mouse se sale del control y luego retrocede, el tiempo de retraso para volver a mostrar la información del mensaje, el valor predeterminado es 100 milisegundos.

Puede ajustar el tiempo de visualización y ocultación de la información solicitada configurando estas propiedades para adaptarse a diferentes escenarios de aplicación. Por ejemplo, configurar AutoPopDelay en un tiempo más largo puede hacer que la información del mensaje permanezca visible por más tiempo después de mostrarse, lo que facilita la lectura para los usuarios.

1.3 Es Globo

La propiedad IsBalloon del control ToolTip se utiliza para establecer si la información sobre herramientas se presenta como una burbuja. Cuando IsBalloon se establece en verdadero, la información sobre herramientas se mostrará en forma de globo; de lo contrario, se mostrará en forma de rectángulo estándar.

El siguiente es un código de muestra para usar la propiedad IsBalloon del control ToolTip en Winform:

// 创建一个ToolTip控件
ToolTip toolTip1 = new ToolTip();

// 设置IsBalloon属性为true
toolTip1.IsBalloon = true;

// 设置ToolTip文本
toolTip1.SetToolTip(button1, "这是一个气球形式的ToolTip!");

En el ejemplo anterior, cuando el mouse se coloca sobre el botón 1, se mostrará una información sobre herramientas en forma de globo y el contenido de la información sobre herramientas es "¡Esta es una información sobre herramientas en forma de globo!".

1.4 Sorteo del propietario

El control ToolTip es un control de aviso de uso común en Winform y se puede usar para agregar información de aviso detallada al control. OwnerDraw es una propiedad de este control que puede personalizar la apariencia de la información sobre herramientas.

Cuando la propiedad OwnerDraw es True, el control ToolTip ya no utilizará el método de dibujo predeterminado, sino un método de dibujo personalizado. Utilice el atributo OwnerDraw para implementar un cuadro de información sobre herramientas más personalizado.

El siguiente es un ejemplo sencillo que demuestra cómo utilizar la propiedad OwnerDraw para dibujar un cuadro de información sobre herramientas con una apariencia personalizada.

  1. Cree una aplicación Winform y agregue un control de botón en el formulario.

  2. Agregue el siguiente código en el evento Load del formulario:

private void Form1_Load(object sender, EventArgs e)
{
    
    
    // 设置ToolTip文本
    toolTip1.SetToolTip(button1, "这是一个气球形式的ToolTip!");
}

private void toolTip1_Draw(object sender, DrawToolTipEventArgs e)
{
    
    
    // Draw the standard background.
    e.DrawBackground();

    //设置背景色
    //Brush brush = new SolidBrush(Color .Red );
    //e.Graphics.FillRectangle(brush, e.Bounds);
    // Draw the custom border to appear 3-dimensional.
    e.Graphics.DrawLines(SystemPens.ControlLightLight, new Point[] {
    
    
            new Point (0, e.Bounds.Height - 1),
            new Point (0, 0),
            new Point (e.Bounds.Width - 1, 0)
        });
    e.Graphics.DrawLines(SystemPens.ControlDarkDark, new Point[] {
    
    
            new Point (0, e.Bounds.Height - 1),
            new Point (e.Bounds.Width - 1, e.Bounds.Height - 1),
            new Point (e.Bounds.Width - 1, 0)
        });

    // Specify custom text formatting flags.
    TextFormatFlags sf = TextFormatFlags.VerticalCenter |
                         TextFormatFlags.HorizontalCenter |
                         TextFormatFlags.NoFullWidthCharacterBreak;

    // Draw the standard text with customized formatting options.
    e.DrawText(sf);
}

Podemos ver que después de configurar la propiedad OwnerDraw, la apariencia y el contenido de la información sobre herramientas se pueden personalizar. Al dibujar una información sobre herramientas, debe utilizar los métodos y propiedades proporcionados en ToolDrawEventArgs. Estos métodos y propiedades pueden dibujar el fondo, el borde, el texto, etc. de la información sobre herramientas. Cabe señalar que la propiedad OwnerDraw de ToolTip solo tendrá efecto cuando se muestre. Por lo tanto, establezca la propiedad OwnerDraw en el evento ShowToolTip de ToolTip y dibuje el contenido de ToolTip en el evento DrawToolTip.

1.5 Mostrar siempre

La propiedad ShowAlways del control ToolTip es un valor de tipo bool que se utiliza para especificar si el cuadro de solicitud siempre se muestra cuando el usuario pasa el mouse sobre el control. Si esta propiedad se establece en verdadero, la información sobre herramientas permanecerá mostrada hasta que el usuario aleje el mouse. Si se establece en falso, el cuadro de mensaje solo se muestra cuando se llama al método Show.

Al utilizar el control ToolTip en Winform, puede establecer la propiedad ShowAlways en verdadero mediante el siguiente código:

// 创建一个ToolTip控件实例
ToolTip toolTip = new ToolTip();

// 设置ShowAlways属性为true
toolTip.ShowAlways = true;

// 在控件上显示提示信息
toolTip.SetToolTip(control, "这是一个提示信息");

En el código anterior, al crear una instancia de control ToolTip y establecer su propiedad ShowAlways en verdadero, asegúrese de que el cuadro de aviso siempre se muestre cuando el mouse se coloca sobre el control. Luego llame al método SetToolTip para mostrar la información del mensaje en el control.

Cabe señalar que cuando el atributo ShowAlways se establece en verdadero, el cuadro de mensaje siempre se muestra y puede interferir con las operaciones del usuario, por lo que se recomienda utilizar este atributo solo cuando sea necesario.

1.6 Icono de información sobre herramientas, Título de información sobre herramientas

El control ToolTip es un control de información sobre herramientas de uso común en Winform, que se utiliza para proporcionar información o instrucciones adicionales. Entre ellos, ToolTipIcon y ToolTipTitle son dos atributos de uso común que se pueden usar para configurar el ícono y el título del cuadro de mensaje.

La propiedad ToolTipIcon se utiliza para configurar el icono del cuadro de aviso y tiene los siguientes valores de enumeración para elegir:

  1. Ninguno: no muestra el icono
  2. Información: icono de información
  3. Advertencia: icono de advertencia
  4. Error: icono de error

Por ejemplo, si desea configurar la información sobre herramientas para que muestre un ícono de información, puede usar el siguiente código:

ToolTip toolTip1 = new ToolTip();
toolTip1.ToolTipIcon = ToolTipIcon.Info;

La propiedad ToolTipTitle se utiliza para establecer el título del cuadro de mensaje. Si no se establece, el nombre de la aplicación se mostrará de forma predeterminada. Puede utilizar el siguiente código para establecer el título de la información sobre herramientas:

ToolTip toolTip1 = new ToolTip();
toolTip1.ToolTipTitle = "这是提示框标题";

Cabe señalar que las propiedades ToolTipIcon y ToolTipTitle deben configurarse antes de configurar la propiedad Texto del control ToolTip; de lo contrario, no tendrán efecto.

1.7 Usar animación

El control ToolTip es uno de los controles más utilizados en WinForm y se puede utilizar para proporcionar información rápida a controles o formularios. En el control ToolTip, puede establecer si la información sobre herramientas se muestra usando efectos de animación a través de la propiedad UseAnimation.

Cuando la propiedad UseAnimation se establece en True, el control ToolTip utilizará efectos de animación al mostrar información de solicitud. Habrá un cierto cambio de gradiente en el proceso de aparición y desaparición, que será más suave y natural. Cuando la propiedad UseAnimation se establece en False, el control ToolTip aparecerá y desaparecerá directamente sin ningún efecto de animación.

El siguiente es un código de ejemplo para configurar la propiedad UseAnimation del control ToolTip:

// 创建一个ToolTip控件对象
ToolTip toolTip1 = new ToolTip();

// 设置ToolTip控件的属性
toolTip1.UseAnimation = true;
toolTip1.SetToolTip(button1, "这是一个按钮,点击可以触发某个事件");

En el código anterior, al crear un objeto de control ToolTip toolTip1 y establecer su propiedad UseAnimation en verdadero, el control ToolTip utiliza efectos de animación al mostrar información de solicitud. Al mismo tiempo, vincule el control de información sobre herramientas al botón 1. Cuando el usuario pasa el mouse sobre el botón 1, se mostrará la información del mensaje configurado.

1.8 UsoDesvanecimiento

La propiedad UseFading del control ToolTip determina si la información del mensaje se muestra mediante un efecto de degradado.

Cuando la propiedad UseFading es verdadera, la información del mensaje se mostrará usando un gradiente; cuando la propiedad UseFading es falsa, la información del mensaje se mostrará directamente sin usar un efecto de gradiente.

En Winform, puede configurar la propiedad UseFading del control ToolTip de las siguientes maneras:

// 创建ToolTip控件
ToolTip toolTip = new ToolTip();

// 设置控件显示的提示信息
toolTip.SetToolTip(button1, "这是一个按钮");

// 设置控件使用渐变效果显示提示信息
toolTip.UseFading = true;

Cabe señalar que la propiedad UseFading del control ToolTip solo tendrá efecto cuando el sistema donde se encuentra el control admita el efecto de gradiente. Si el sistema no admite efectos de degradado, la información del mensaje no se mostrará utilizando el efecto de degradado incluso si la propiedad UseFading está establecida en verdadero.

2. Escenarios comunes

El control ToolTip es un control de uso común en Winform y se utiliza para mostrar un breve mensaje en la pantalla cuando el mouse se coloca sobre un determinado control. Los escenarios de uso comunes son los siguientes:

  1. Consejo de control: cuando el mouse se coloca sobre el control, la información sobre herramientas puede mostrar información de texto explicativa para ayudar a los usuarios a comprender mejor la función y el uso del control.

  2. Verificación del formulario: en el formulario, cuando los datos ingresados ​​por el usuario no cumplen con las especificaciones, la información sobre herramientas puede solicitarle al usuario información ingresada incorrecta para ayudarlo a encontrar y corregir el error a tiempo.

  3. Visualización de imagen: al mostrar una imagen en Winform, puede usar el control de información sobre herramientas para mostrar la información detallada de la imagen, como el nombre de la imagen, el tamaño, etc., cuando el mouse se coloca sobre la imagen.

  4. Consejo de menú: cuando usa un menú en un formulario Winform, puede usar el control ToolTip para mostrar la información de la tecla de acceso directo o la descripción de la función del elemento del menú cuando el mouse se coloca sobre el elemento del menú.

  5. Sugerencia sobre la barra de herramientas: cuando usa la barra de herramientas en un formulario Winform, puede usar el control Información sobre herramientas para mostrar la descripción de la función del botón de la barra de herramientas cuando pasa el mouse sobre él para ayudar a los usuarios a usar mejor la barra de herramientas.

3. Casos específicos

El siguiente es un caso de uso simple del control ToolTip en Winform:

  1. Cree un formulario y agregue un control de botón y un control de información sobre herramientas.

  2. Haga doble clic en el control Botón y agregue el siguiente código a su evento Click:

private void button1_Click(object sender, EventArgs e)
{
    
    
    MessageBox.Show("Hello World!");
}
  1. Establezca las propiedades del control ToolTip en el evento Load del formulario:
private void Form1_Load(object sender, EventArgs e)
{
    
    
    toolTip1.SetToolTip(button1, "点击弹出对话框"); // 设置提示信息
    toolTip1.ToolTipTitle = "提示"; // 设置提示框标题
    toolTip1.ToolTipIcon = ToolTipIcon.Info; // 设置提示框图标
    toolTip1.UseFading = true; // 设置渐变动画效果
    toolTip1.UseAnimation = true; // 设置动画效果
}
  1. Ejecute el programa y coloque el mouse sobre el control Botón para ver la información solicitada que se muestra en la pantalla mediante el control Información sobre herramientas.

El código completo es el siguiente:

public partial class Form1 : Form
{
    
    
    public Form1()
    {
    
    
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
    
    
        MessageBox.Show("Hello World!");
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    
    
        toolTip1.SetToolTip(button1, "点击弹出对话框"); // 设置提示信息
        toolTip1.ToolTipTitle = "提示"; // 设置提示框标题
        toolTip1.ToolTipIcon = ToolTipIcon.Info; // 设置提示框图标
        toolTip1.UseFading = true; // 设置渐变动画效果
        toolTip1.UseAnimation = true; // 设置动画效果
    }
}

Insertar descripción de la imagen aquí

Supongo que te gusta

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