首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
【愚公系列】2023年11月 WPF控件专题 Line控件详解
2
【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题
3
【愚公系列】2023年11月 Winform控件专题 Label控件详解
4
【愚公系列】2023年11月 Winform控件专题 Button控件详解
5
【愚公系列】2023年11月 Winform控件专题 Form控件详解
6
【愚公系列】2023年11月 Winform控件专题 TextBox控件详解
7
【愚公系列】2023年11月 Winform控件专题 CheckBox控件详解
8
【愚公系列】2023年11月 Winform控件专题 RadioButton控件详解
9
【愚公系列】2023年11月 Winform控件专题 ComboBox控件详解
10
【愚公系列】2023年11月 Winform控件专题 RichTextBox控件详解
11
【愚公系列】2023年11月 Winform控件专题 ListBox控件详解
12
【愚公系列】2023年11月 Winform控件专题 CheckedListBox控件详解
13
【愚公系列】2023年11月 Winform控件专题 numericUpDown控件详解
14
【愚公系列】2023年11月 Winform控件专题 LinkLabel控件详解
15
【愚公系列】2023年11月 Winform控件专题 DateTimePicker控件详解
16
【愚公系列】2023年11月 Winform控件专题 NotifyIcon控件详解
17
【愚公系列】2023年11月 Winform控件专题 ContextMenuStrip控件详解
18
【愚公系列】2023年11月 Winform控件专题 Timer控件详解
19
【愚公系列】2023年11月 Winform控件专题 PictureBox控件详解
20
【愚公系列】2023年11月 Winform控件专题 Chart控件详解
21
【愚公系列】2023年11月 Winform控件专题 DataGridView控件详解
22
【愚公系列】2023年11月 Winform控件专题 TableLayoutPanel控件详解
23
【愚公系列】2023年11月 Winform控件专题 ProgressBar控件详解
24
【愚公系列】2023年11月 Winform控件专题 Panel控件详解
25
【愚公系列】2023年11月 Winform控件专题 FlowLayoutPanel控件详解
26
【愚公系列】2023年11月 Winform控件专题 GroupBox控件详解
27
【愚公系列】2023年11月 Winform控件专题 SplitContainer控件详解
28
【愚公系列】2023年11月 Winform控件专题 TabControl控件详解
29
【愚公系列】2023年11月 Winform控件专题 ToolTip控件详解
30
【愚公系列】2023年11月 Winform控件专题 MaskedTextBox控件详解
31
【愚公系列】2023年11月 Winform控件专题 MonthCalendar控件详解
32
【愚公系列】2023年11月 Winform控件专题 TreeView控件详解
33
【愚公系列】2023年11月 Winform控件专题 MenuStrip控件详解
34
【愚公系列】2023年11月 Winform控件专题 OpenFileDialog控件详解
35
【愚公系列】2023年11月 Winform控件专题 SaveFileDialog控件详解
36
【愚公系列】2023年12月 Winform控件专题 FontDialog控件详解
37
【愚公系列】2023年12月 Winform控件专题 ColorDialog控件详解
38
【愚公系列】2023年12月 Winform控件专题 FolderBrowserDialog控件详解
39
【愚公系列】2023年12月 Winform控件专题 StatusStrip控件详解
40
【愚公系列】2023年12月 Winform控件专题 ToolStrip控件详解
41
【愚公系列】2023年12月 Winform控件专题 HelpProvider控件详解
42
【愚公系列】2023年12月 Winform控件专题 ToolStripContainer控件详解
43
【愚公系列】2023年12月 Winform控件专题 BackgroundWorker控件详解
44
【愚公系列】2023年12月 GDI+绘图专题 图形图像编程基础
45
【愚公系列】2023年12月 GDI+绘图专题 图形图像的重绘
46
【愚公系列】2023年12月 GDI+绘图专题 颜色获取和图形绘制
47
【愚公系列】2023年12月 GDI+绘图专题 Point
48
【愚公系列】2023年12月 GDI+绘图专题 Rectangle
49
【愚公系列】2023年12月 GDI+绘图专题 Matrix
50
【愚公系列】2023年12月 GDI+绘图专题 Pen

【愚公系列】2023年11月 Winform控件专题 ToolTip控件详解

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。

🚀一、ToolTip控件详解

ToolTip控件是Winform中的一个标准控件,用于为UI元素提供简短的提示信息。当鼠标指针悬停在控件上时,会显示一个浮动窗口,其中包含指定的提示文本。

要使用ToolTip控件,可以按照以下步骤操作:

  1. 在Visual Studio的工具箱中,找到ToolTip控件并将其拖动到窗体上。
  2. 在属性窗口中设置ToolTip控件的属性,例如ToolTipText属性可以设置提示文本,InitialDelay属性可以设置显示延迟时间等。
  3. 将ToolTip控件与需要提示信息的控件关联起来。可以在设计时通过设置每个控件的ToolTip属性来实现,也可以在运行时通过调用ToolTip控件的SetToolTip方法来实现。

例如,以下代码将一个ToolTip控件与一个Button关联起来,并在鼠标悬停时显示“点击这里”提示信息:

代码语言:c#
复制
private void Form1_Load(object sender, EventArgs e)
{
    ToolTip toolTip1 = new ToolTip();
    toolTip1.SetToolTip(this.button1, "点击这里");
}

这样,当用户将鼠标悬停在Button上时,就会显示一个浮动窗口,其中包含“点击这里”提示文本。

在这里插入图片描述

🔎1.属性介绍

🦋1.1 Active

ToolTip控件的Active属性用于控制控件是否处于激活状态。当Active属性为true时,ToolTip控件可以显示提示信息;当Active属性为false时,则不会显示。

在Winform中,可以在运行时通过代码设置ToolTip控件的Active属性。例如,以下代码将一个名为toolTip1的ToolTip控件的Active属性设置为false:

代码语言:c#
复制
toolTip1.Active = false;

当Active属性为false时,即使将ToolTip控件与控件关联起来,鼠标悬停在控件上也不会显示提示信息。

需要注意的是,一般情况下不需要手动设置ToolTip控件的Active属性,因为它会根据控件的状态自动激活或禁用。例如,在将ToolTip控件与一个Button关联起来后,只有在Button.Enabled为true时,ToolTip控件才会激活并显示提示信息;当Button.Enabled为false时,ToolTip控件也会自动禁用,不会显示提示信息。

如果需要手动控制ToolTip控件的激活状态,可以在需要时设置Active属性即可。在设置Active属性时,应该先判断控件是否存在,否则可能会出现空引用异常。例如,以下代码判断了名为toolTip1的ToolTip控件是否存在,如果存在则将其Active属性设置为false:

代码语言:c#
复制
if (toolTip1 != null)
{
    toolTip1.Active = false;
}

🦋1.2 AutomaticDelay、AutoPopDelay、InitialDelay、ReshowDelay

ToolTip控件是Winform中常用的一个控件,可以在鼠标悬停在控件上时显示特定的提示信息。ToolTip控件有四个常用的属性:AutomaticDelay、AutoPopDelay、InitialDelay、ReshowDelay。

  1. AutomaticDelay:自动延迟,表示鼠标悬停在控件上时,提示信息显示的延迟时间,默认值为500毫秒。
  2. AutoPopDelay:自动弹出延迟,表示提示信息显示后,自动隐藏的延迟时间,默认值为5000毫秒。
  3. InitialDelay:初始延迟,表示鼠标悬停在控件上时,提示信息开始显示的延迟时间,默认值为500毫秒。
  4. ReshowDelay:重复显示延迟,表示提示信息已经显示后,鼠标移出控件再移回来时,重新显示提示信息的延迟时间,默认值为100毫秒。

可以通过设置这些属性来调整提示信息的显示和隐藏时间,以适应不同的应用场景。例如,将AutoPopDelay设置为较长的时间,可以使提示信息在显示后更长时间保持可见,让用户更容易阅读。

🦋1.3 IsBalloon

ToolTip控件的IsBalloon属性用于设置ToolTip是否呈现为气泡的形式。设置IsBalloon为true时,ToolTip将以气球的形式显示,否则将以标准矩形的形式显示。

下面是在Winform中使用ToolTip控件IsBalloon属性的示例代码:

代码语言:c#
复制
// 创建一个ToolTip控件
ToolTip toolTip1 = new ToolTip();

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

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

在上面的示例中,当鼠标悬停在button1按钮上时,将会显示一个气球形式的ToolTip,该ToolTip的内容是“这是一个气球形式的ToolTip!”。

🦋1.4 OwnerDraw

ToolTip控件是Winform中常用的提示控件,可以用来为控件添加详细的提示信息。OwnerDraw是该控件的一个属性,可以自定义ToolTip的外观。

OwnerDraw属性为True时,ToolTip控件将不再使用默认的绘制方式,而是使用自定义的绘制方法。使用OwnerDraw属性可以实现更加个性化的ToolTip提示框。

下面是一个简单示例,演示如何使用OwnerDraw属性来绘制一个具有自定义外观的ToolTip提示框。

  1. 创建一个Winform应用程序,并在窗体上添加一个Button控件。
  2. 在窗体的Load事件中添加以下代码:
代码语言:c#
复制
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);
}

我们可以看到设置OwnerDraw属性后,可以自定义ToolTip的外观和内容。在绘制ToolTip时,需要使用ToolDrawEventArgs中提供的方法和属性来完成。这些方法和属性可以绘制ToolTip的背景、边框和文本等内容。需要注意的是,ToolTip的OwnerDraw属性只在其被显示时才会生效。因此,在ToolTip的ShowToolTip事件中设置OwnerDraw属性,并在DrawToolTip事件中绘制ToolTip的内容。

🦋1.5 ShowAlways

ToolTip控件的ShowAlways属性是一个bool类型的值,用于指定当用户将鼠标悬停在控件上时,提示框是否始终显示。如果该属性设置为true,则提示框将一直显示直到用户将鼠标移开。如果设置为false,则提示框仅在Show方法被调用时显示。

在Winform中使用ToolTip控件时,可以通过以下代码设置ShowAlways属性为true:

代码语言:c#
复制
// 创建一个ToolTip控件实例
ToolTip toolTip = new ToolTip();

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

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

在上述代码中,通过创建一个ToolTip控件实例,并将其ShowAlways属性设置为true,确保鼠标悬停在控件上时提示框始终显示。然后调用SetToolTip方法在控件上显示提示信息。

需要注意的是,ShowAlways属性设置为true时,提示框始终显示可能会干扰用户的操作,因此建议在必要时才使用该属性。

🦋1.6 ToolTipIcon、ToolTipTitle

ToolTip控件是Winform中常用的工具提示控件,用于提供额外的信息或者指示。其中ToolTipIcon和ToolTipTitle是两个常用的属性,可以用来设置提示框的图标和标题。

ToolTipIcon属性用于设置提示框的图标,它有以下几个枚举值可选:

  1. None:不显示图标
  2. Info:信息图标
  3. Warning:警告图标
  4. Error:错误图标

例如,如果要设置提示框显示信息图标,可以使用以下代码:

代码语言:c#
复制
ToolTip toolTip1 = new ToolTip();
toolTip1.ToolTipIcon = ToolTipIcon.Info;

ToolTipTitle属性用于设置提示框的标题,如果不设置则默认显示应用程序的名称。可以使用以下代码设置提示框的标题:

代码语言:c#
复制
ToolTip toolTip1 = new ToolTip();
toolTip1.ToolTipTitle = "这是提示框标题";

需要注意的是,ToolTipIcon和ToolTipTitle属性都必须在设置ToolTip控件的Text属性之前设置,否则将不会生效。

🦋1.7 UseAnimation

ToolTip控件是WinForm中的常用控件之一,它可以用于给控件或窗体提供提示信息。在ToolTip控件中,通过UseAnimation属性可以设置工具提示是否使用动画效果显示。

当UseAnimation属性设置为True时,ToolTip控件在显示提示信息时会使用动画效果,在弹出和消失的过程中会有一定的渐变变化,会更加流畅自然。当UseAnimation属性设置为False时,ToolTip控件则会直接显示和消失,没有任何动画效果。

以下是设置ToolTip控件UseAnimation属性的示例代码:

代码语言:c#
复制
// 创建一个ToolTip控件对象
ToolTip toolTip1 = new ToolTip();

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

上述代码中,通过创建一个ToolTip控件对象toolTip1,并设置其UseAnimation属性为true,使得ToolTip控件在显示提示信息时使用动画效果。同时,将ToolTip控件绑定到button1按钮上,当用户鼠标悬浮在button1上时,会显示所设定的提示信息。

🦋1.8 UseFading

ToolTip控件的UseFading属性决定了提示信息的显示方式是否使用渐变效果。

当UseFading属性为true时,提示信息会采用渐变的方式显示出来;当UseFading属性为false时,提示信息不会使用渐变效果,直接显示出来。

在Winform中,可以通过以下方式设置ToolTip控件的UseFading属性:

代码语言:c#
复制
// 创建ToolTip控件
ToolTip toolTip = new ToolTip();

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

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

需要注意的是,ToolTip控件的UseFading属性只有在控件所在的系统支持渐变效果时才会生效。如果系统不支持渐变效果,则即使将UseFading属性设置为true,提示信息也不会使用渐变效果显示出来。

🔎2.常用场景

ToolTip控件是Winform中常用的一个控件,用于在鼠标悬浮在某个控件上时,在屏幕上显示一条简短的提示信息。常见的使用场景如下:

  1. 控件提示:当鼠标悬浮在控件上时,ToolTip可以显示一些说明性的文本信息,帮助用户更好地理解控件的作用和使用方法。
  2. 表单验证:在表单中,当用户输入数据不符合规范时,ToolTip可以提示用户错误的输入信息,帮助用户及时发现并纠正错误。
  3. 图片展示:当在Winform中显示图片时,可以在鼠标悬浮在图片上时,使用ToolTip控件显示图片的详细信息,例如图片名称、大小等。
  4. 菜单提示:在Winform窗体中使用菜单时,可以通过ToolTip控件在鼠标悬浮在菜单项上时,显示该菜单项的快捷键信息或功能描述等。
  5. 工具栏提示:在Winform窗体中使用工具栏时,可以通过ToolTip控件在鼠标悬浮在工具栏按钮上时,显示该按钮的功能描述,帮助用户更好地使用工具栏。

🔎3.具体案例

下面是一个简单的Winform中ToolTip控件的使用案例:

  1. 创建一个窗体,添加一个Button控件和一个ToolTip控件。
  2. 双击Button控件,在其Click事件中添加如下代码:
代码语言:c#
复制
private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Hello World!");
}
  1. 在窗体的Load事件中设置ToolTip控件的属性:
代码语言:c#
复制
private void Form1_Load(object sender, EventArgs e)
{
    toolTip1.SetToolTip(button1, "点击弹出对话框"); // 设置提示信息
    toolTip1.ToolTipTitle = "提示"; // 设置提示框标题
    toolTip1.ToolTipIcon = ToolTipIcon.Info; // 设置提示框图标
    toolTip1.UseFading = true; // 设置渐变动画效果
    toolTip1.UseAnimation = true; // 设置动画效果
}
  1. 运行程序,将鼠标悬浮在Button控件上,即可看到ToolTip控件在屏幕上显示出来的提示信息。

完整代码如下:

代码语言:c#
复制
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; // 设置动画效果
    }
}
在这里插入图片描述

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

下一篇
举报
领券