如何使用Windows窗体在按钮上显示工具提示?
当前回答
在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属性中有字符串的按钮都会被分配一个MouseHover事件。为了保持紧凑,MouseHover事件使用lambda表达式内联定义。在事件中,任何按钮悬停将其标签文本分配给工具提示并显示。
其他回答
当然,只需处理鼠标悬停事件并告诉它显示工具提示。 T是一个在全局函数中定义的工具提示,或者在构造函数中使用:
ToolTip t = new ToolTip();
然后是事件处理程序:
private void control_MouseHover(object sender, EventArgs e)
{
t.Show("Text", (Control)sender);
}
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");
}
您可以使用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");
}
我已经做了很酷的工具提示 代码是:
1.初始化工具提示对象
2.当你想要展示你的创造力时或在哪里调用对象
Ex-
ToolTip t=new ToolTip();
t.setToolTip(textBoxName,"write your message here what tp you want to show up");
使用表单设计器:
将工具提示控件从工具箱拖到窗体上。 选择要在其上显示工具提示的控件的属性。 找到属性'ToolTip on toolTip1'(如果您更改了它的默认名称,该名称可能不是toolTip1)。 将属性的文本设置为要显示的工具提示文本。
你也可以使用下面的调用以编程方式设置工具提示:
this.toolTip1.SetToolTip(this.targetControl, "My Tool Tip");
推荐文章
- 如何从字符串中删除新的行字符?
- 是否已经添加了事件处理程序?
- Lookup()和Dictionary(Of list()的区别
- 如何从我的c#代码运行EXE文件?
- Node.js vs .Net性能
- .NET控制台应用程序中的全局异常处理程序
- 枚举上最常见的c#位操作
- PowerShell脚本在机器上返回。net框架的版本?
- 用c#创建一个空文件
- 如何改变列表<T>数据IQueryable<T>数据
- 您可以使用反射来查找当前正在执行的方法的名称吗?
- 流。Seek(0, SeekOrigin.Begin)或Position = 0
- 如果查询为空,则最大返回值
- 传递一个实例化的系统。类型作为泛型类的类型参数
- 在c#中转换字符串为类型