WinForms 工具提示未显示

Cha*_*ion 6 c# user-controls tooltip winforms

我有一个 WinForms 应用程序。每个窗体和用户控件设置其工具提示如下:

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

但是,当我将鼠标悬停在控件上时,工具提示不会出现。这是使用工具提示的合适方式吗?在应用程序的另一部分(例如,侦听某些事件)中是否会发生一些会阻止工具提示工作的事情?

请注意,我的外部窗体的工具条按钮(通过按钮的工具提示属性配置)上的工具提示按预期工作。

编辑:

我已经观察到更多,我注意到有时工具提示确实出现了,它只是非常“片状”。基本上,有时当我将鼠标悬停在控件上时,它会非常短暂地显示然后闪烁。我可以使用 .Show() 和长 AutoPopDelay 手动显示它,但它永远不会消失!

She*_*ell 3

你的代码对我来说似乎没问题。我在你的代码中找不到任何错误。但是,只有当控制被禁用时它才可能失败。顺便说一句,您可以尝试另一种类似的方法。但是,我不想建议您像这样显示工具提示。

private void someButton_MouseEnter(...)
{
    toolTip.Show("Tooltip text goes here", (Button)sender);
}
Run Code Online (Sandbox Code Playgroud)

您还可以在方法中指定工具提示的显示位置.Show()。您可以使用一些重载函数。有关方法的更多信息,请阅读msdnToolTip.Show()