使用Windows窗体在按钮上显示工具提示

如何使用Windows窗体在按钮上显示工具提示?

261703 次浏览
当然,只需处理鼠标悬停事件并告诉它显示工具提示。 T是在全局函数中定义的工具提示,或者在构造函数中使用:

定义
ToolTip t = new ToolTip();

然后是事件处理程序:

private void control_MouseHover(object sender, EventArgs e)
{
t.Show("Text", (Control)sender);
}

您可以使用ToolTip类:

为一个控件创建一个工具提示 .

例子:

private void Form1_Load(object sender, System.EventArgs e)
{
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.Button1, "Hello");
}

. net框架提供了ToolTip类。将其中的一个添加到您的表单中,然后在鼠标悬停事件中为您想要工具提示的每个项执行如下操作:

private void checkBox1_MouseHover(object sender, EventArgs e)
{
toolTip1.Show("text", checkBox1);
}

ToolTip是一个 WinForms控件,用于在单个表单上显示多个元素的工具提示。

假设你的按钮叫MyButton。

  1. 添加一个工具提示控件(在普通 控件
  2. . .
  3. 给它一个 name - say MyToolTip
  4. 在我的Tooltip上设置“Tooltip”;属性MyButton(在Misc在
  5. . . .

当光标悬停在按钮上时,工具提示将自动出现,但如果需要以编程方式显示它,请调用

MyToolTip.Show("Tooltip text goes here", MyButton);

在代码中显示工具提示,和

MyToolTip.Hide(MyButton);

让它再次消失。

使用表单设计器:

  • 将工具提示控件从工具箱拖到窗体上。
  • 选择要在其上显示工具提示的控件的属性。
  • 找到属性'ToolTip on toolTip1'(如果您更改了它的默认名称,该名称可能不是toolTip1)。
  • 将属性的文本设置为要显示的工具提示文本。

你也可以使用下面的调用以编程方式设置工具提示:

this.toolTip1.SetToolTip(this.targetControl, "My Tool Tip");

对于默认的工具提示,可以使用-

System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.textBox1, "Hello world");

如果需要对工具提示消息进行格式化,也可以使用定制的工具提示。这可以通过自定义格式化表单来创建,并将其用作控件的鼠标悬停事件的工具提示对话框。详情请查看以下链接-

http://newapputil.blogspot.in/2015/08/create-custom-tooltip-dialog-from-form.html

懒和紧凑存储文本在标签属性

如果你有点懒,没有将控件的标签属性用于其他任何事情,你可以使用它来存储工具提示文本,并将MouseHover事件处理程序分配给所有这样的控件,如下所示:

private System.Windows.Forms.ToolTip ToolTip1;
private void PrepareTooltips()
{
ToolTip1 = new System.Windows.Forms.ToolTip();
foreach(Control ctrl in this.Controls)
{
if (ctrl is Button && ctrl.Tag is string)
{
ctrl.MouseHover += new EventHandler(delegate(Object o, EventArgs a)
{
var btn = (Control)o;
ToolTip1.SetToolTip(btn, btn.Tag.ToString());
});
}
}
}

在这种情况下,所有在标签属性中具有字符串的按钮都会被分配一个MouseHover事件。为了保持紧凑,MouseHover事件使用lambda表达式内联定义。在事件中,任何按钮悬停将有它的标签文本分配给工具提示并显示。

private void Form1_Load(object sender, System.EventArgs e)
{
ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.button1, "My button1");
toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}

基于DaveK的回答,我创建了一个控件扩展:

public static void SetToolTip(this Control control, string txt)
{
new ToolTip().SetToolTip(control, txt);
}

然后你可以用一行来设置任何控件的工具提示:

this.MyButton.SetToolTip("Hello world");
我已经完成了很酷的工具提示 代码:< / p >

1.初始化工具提示对象

2.当你想要展示你的创造力时或在哪里调用对象

Ex-
ToolTip t=new ToolTip();
t.setToolTip(textBoxName,"write your message here what tp you want to show up");