编程语言
首页 > 编程语言> > C#-WinForms工具提示未显示

C#-WinForms工具提示未显示

作者:互联网

我有一个WinForms应用程序.每个表单和用户控件都按以下方式设置其工具提示:

// in the control constructor
var toolTip = new ToolTip();
this.Disposed += (o, e) => toolTip.Dispose();
toolTip.SetToolTip(this.someButton, "...");
toolTip.SetToolTip(this.someCheckBox, "...");
...

但是,当我将鼠标悬停在控件上时,不会显示工具提示.这是使用工具提示的适当方法吗?在应用程序的另一部分中是否会发生某些事情(例如,监听某个事件),这会导致工具提示无法正常工作?

请注意,外部窗体的工具条按钮上的工具提示(通过按钮的tooltip属性配置)可以正常工作.

编辑:

我已经观察到了更多,并且发现有时工具提示确实出现了,但它非常“脆弱”.基本上,有时候当我将鼠标悬停在某个控件上时,它会非常短暂地显示出来然后忽隐忽现.我可以使用.Show()和较长的AutoPopDelay手动显示它,但是它永远不会消失!

解决方法:

您的代码对我来说似乎还可以.我在您的代码中找不到任何错误.但是,只有在禁用控制后,它才能失败.顺便说一句,您可以尝试这样的另一种方法.但是,我不建议您显示这样的工具提示.

private void someButton_MouseEnter(...)
{
    toolTip.Show("Tooltip text goes here", (Button)sender);
}

您还可以在.Show()方法中分配显示工具提示的位置.有一些您可以使用的重载函数.阅读msdn,以获取有关ToolTip.Show()方法的更多信息.

标签:tooltip,user-controls,c,winforms
来源: https://codeday.me/bug/20191121/2048389.html