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

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

工具提示实际上是一个WinForms控件,用于处理在单个窗体上显示多个元素的工具提示。

说你的button叫做MyButton。

  1. 将一个工具提示控件(在Windows窗体工具箱中的公共控件下)添加到您的窗体。
  2. 给它一个名字 – 说MyToolTip
  3. 将MyButton的“MyToolTip”属性(位于button属性网格中的“Misc”下)设置为将鼠标hover在其上的文本。

当光标hover在button上时,工具提示会自动出现,但是如果需要以编程方式显示,请调用

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

在你的代码中显示工具提示,MyToolTip.Hide(MyButton)使它再次消失。

使用表单devise器:

  • 将ToolTip控件从“工具箱”拖到窗体上。
  • select希望工具提示出现在控件的属性。
  • 在toolTip1上find属性“ToolTip”(如果您更改了默认名称,该名称可能不是toolTip1)。
  • 将属性的文本设置为要显示的工具提示文本。

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

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

您可以使用ToolTip类:

为控件创build一个工具提示

例:

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

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

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

如果工具提示信息需要格式化,也可以使用定制的工具提示。 这可以通过自定义格式化表单并将其用作控件的鼠标hover事件上的工具提示对话框来创build。 请查看以下链接了解更多详情 –

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

.NET框架提供了一个ToolTip类。 将其中的一个添加到您的表单中,然后在MouseHover事件中为每个项目添加一个工具提示,然后执行以下操作:

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

Tag属性中的文本caching和紧凑

如果你有点懒,不要使用控件的Tag属性来存储任何东西,你可以使用它来存储工具提示文本,并将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()); }); } } } 

在这种情况下,所有在Tag属性中具有string的button都被分配一个MouseHover事件。 为了保持紧凑,使用lambdaexpression式内联定义MouseHover事件。 在任何buttonhover的情况下都会将其标签文本分配给工具提示并显示。

当然,只要处理mousehover事件并告诉它显示一个工具提示。 t是全局variables或构造函数中使用的工具提示:

 ToolTip t = new ToolTip(); 

那么事件处理程序:

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