WinForm ToolTip使用方法

本文介绍了两种在 WinForm 应用中实现 Tooltip 的方法。第一种方法通过自定义工具类来灵活设置 Tooltip 的显示位置及持续时间;第二种方法则是直接在控件上设置 Tooltip 文本,适用于简单需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种

using System.Drawing;
using System.Windows.Forms;
 
namespace WinFormUtilHelpV2
{
  /// <summary>
  /// 基于.NET 2.0的Tooltip工具类
  /// </summary>
  public static class TooltipToolV2
  {
    /// <summary>
    /// 为控件提供Tooltip
    /// </summary>
    /// <param name="control">控件</param>
    /// <param name="tip">ToolTip</param>
    /// <param name="message">提示消息</param>
    public static void ShowTooltip(this Control control, ToolTip tip, string message)
    {
      Point _mousePoint = Control.MousePosition;
      int _x = control.PointToClient(_mousePoint).X;
      int _y = control.PointToClient(_mousePoint).Y;
      tip.Show(message, control, _x, _y);
      tip.Active = true;
    }
    /// <summary>
    /// 为控件提供Tooltip
    /// </summary>
    /// <param name="control">控件</param>
    /// <param name="tip">ToolTip</param>
    /// <param name="message">提示消息</param>
    /// <param name="durationTime">保持提示的持续时间</param>
    public static void ShowTooltip(this Control control, ToolTip tip, string message, int durationTime)
    {
      Point _mousePoint = Control.MousePosition;
      int _x = control.PointToClient(_mousePoint).X;
      int _y = control.PointToClient(_mousePoint).Y;
      tip.Show(message, control, _x, _y, durationTime);
      tip.Active = true;
    }
    /// <summary>
    /// 为控件提供Tooltip
    /// </summary>
    /// <param name="control">控件</param>
    /// <param name="tip">ToolTip</param>
    /// <param name="message">提示消息</param>
    /// <param name="xoffset">水平偏移量</param>
    /// <param name="yoffset">垂直偏移量</param>
    public static void ShowTooltip(this Control control, ToolTip tip, string message, int xoffset, int yoffset)
    {
      Point _mousePoint = Control.MousePosition;
      int _x = control.PointToClient(_mousePoint).X;
      int _y = control.PointToClient(_mousePoint).Y;
      tip.Show(message, control, _x + xoffset, _y + yoffset);
      tip.Active = true;
    }
    /// <summary>
    /// 为控件提供Tooltip
    /// </summary>
    /// <param name="control">控件</param>
    /// <param name="tip">ToolTip</param>
    /// <param name="message">提示消息</param>
    /// <param name="xoffset">水平偏移量</param>
    /// <param name="yoffset">垂直偏移量</param>
    /// <param name="durationTime">保持提示的持续时间</param>
    public static void ShowTooltip(this Control control, ToolTip tip, string message, int xoffset, int yoffset, int durationTime)
    {
      Point _mousePoint = Control.MousePosition;
      int _x = control.PointToClient(_mousePoint).X;
      int _y = control.PointToClient(_mousePoint).Y;
      tip.Show(message, control, _x + xoffset, _y + yoffset, durationTime);
      tip.Active = true;
    }
  }
}
 
 
第二种
 
  1. private void SetRadioButtonToolTip()
  2. {
  3.     // Create the ToolTip and associate with the Form container.
  4.     ToolTip toolTip1 = new ToolTip();
  5.     // Set up the delays for the ToolTip.
  6.     toolTip1.AutoPopDelay = 5000;
  7.     toolTip1.InitialDelay = 1000;
  8.     toolTip1.ReshowDelay = 500;
  9.     // Force the ToolTip text to be displayed whether or not the form is active.
  10.     toolTip1.ShowAlways = true;
  11.     // Set up the ToolTip text for the Button and Checkbox.
  12.     toolTip1.SetToolTip(this.radioButton4, "光标");
  13.     toolTip1.SetToolTip(this.radioButton1, "标签");
  14.     toolTip1.SetToolTip(this.radioButton2, "面板");
  15.     toolTip1.SetToolTip(this.radioButton3, "按钮");
  16. }

转载于:https://www.cnblogs.com/FLWL/p/7242857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值