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在控件上时,它默认会给你一个工具提示。
- 将一个工具提示组件添加到您的窗体
- select您想要的工具提示之一的控件
- 打开属性网格( F4 ),在列表中您将find一个名为“ToolTip on toolTip1”(或类似的东西)的属性。 在该属性上设置所需的工具提示文本。
- 对其他控件重复2-3
- 完成。
这里的技巧是ToolTip控件是一个扩展控件 ,这意味着它将扩展窗体上其他控件的一组属性。 在幕后,这是通过生成像Svetlozar的答案一样的代码来实现的。 还有其他的控件以相同的方式工作(如HelpProvider
)。
C#中的ToolTip非常容易添加到几乎所有的UI控件中。 您不需要为此添加任何MouseHover事件。
这是如何做到这一点 –
-
将一个工具提示对象添加到您的窗体。 一个对象就足够整个表单。
ToolTip toolTip = new ToolTip();
-
将控件添加到所需文本的工具提示。
toolTip.SetToolTip(Button1,"Click here");
只需订阅控件的ToolTipTextNeeded事件,然后返回e.TooltipText,就简单多了。