C#:如何将一个工具提示添加到控件?

我有一些控件,当鼠标hover在它上面时,我想显示一个ToolTip 。 我怎样才能做到这一点? 我想知道如何在代码中正确地做到这一点,但也在devise器(工具箱中有一个ToolTip组件,但我不太会..)。

如果这是重复的,我不会感到惊讶,但我只能find更高级的特定场景的问题。 我想知道的基础知识。

这是你用代码做的文章

 private void Form1_Load(object sender, System.EventArgs e) { // Create the ToolTip and associate with the Form container. ToolTip toolTip1 = new ToolTip(); // Set up the delays for the ToolTip. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 1000; toolTip1.ReshowDelay = 500; // Force the ToolTip text to be displayed whether or not the form is active. toolTip1.ShowAlways = true; // Set up the ToolTip text for the Button and Checkbox. toolTip1.SetToolTip(this.button1, "My button1"); toolTip1.SetToolTip(this.checkBox1, "My checkBox1"); } 

将工具提示控件从工具箱拖到您的表单上。 除了名字,你不需要给它任何属性。 然后,在控件的属性中,您希望有一个工具提示,使用刚刚添加的工具提示控件的名称查找新属性。 当光标hover在控件上时,它默认会给你一个工具提示。

  1. 将一个工具提示组件添加到您的窗体
  2. select您想要的工具提示之一的控件
  3. 打开属性网格( F4 ),在列表中您将find一个名为“ToolTip on toolTip1”(或类似的东西)的属性。 在该属性上设置所需的工具提示文本。
  4. 对其他控件重复2-3
  5. 完成。

这里的技巧是ToolTip控件是一个扩展控件 ,这意味着它将扩展窗体其他控件的一组属性。 在幕后,这是通过生成像Svetlozar的答案一样的代码来实现的。 还有其他的控件以相同的方式工作(如HelpProvider )。

C#中的ToolTip非常容易添加到几乎所有的UI控件中。 您不需要为此添加任何MouseHover事件。

这是如何做到这一点 –

  1. 将一个工具提示对象添加到您的窗体。 一个对象就足够整个表单。 ToolTip toolTip = new ToolTip();

  2. 将控件添加到所需文本的工具提示。

    toolTip.SetToolTip(Button1,"Click here");

只需订阅控件的ToolTipTextNeeded事件,然后返回e.TooltipText,就简单多了。