C#工具提示没有出现在"显示"

los*_*and 9 c# tooltip winforms

要满足要求,我必须手动显示工具提示30秒.根据msdn我只需要使用"显示"方法.

toolTip.Show(QuestionHelpText, btnHelp, 30000);
Run Code Online (Sandbox Code Playgroud)

但我只得到标准的工具提示行为,这意味着在我点击后半秒钟内出现消息(仅因为鼠标指针仍在按钮上).我尝试了一些变化

toolTip.Show(QuestionHelpText, btnHelp);
Run Code Online (Sandbox Code Playgroud)

但是,没有任何反应.

有人知道为什么会这样吗?

谢谢

Bog*_*_Ch 12

我知道一个简单的解决方法

在你的按钮附近放一个带有空文本的标签(让我们将它命名为labelHelp)

以下代码应该有效

    private void btnHelp_Click(object sender, EventArgs e)
    {
        toolTip.Show(QuestionHelpText, labelHelp, 3000);
    }
Run Code Online (Sandbox Code Playgroud)

  • 它适用于任何控制.Rob说正确的toolTip.Show是阻塞方法.因此,当它在同一控件的事件处理程序(即btnHelp_Click内)中使用时,它将无法按预期工作.诀窍是调用toolTip.Show以获得不同的控件.另一种解决方法可能是拥有一个计时器并启动toolTip.Show asyncroneosuly(例如在btnHelp_Click中启动计时器0.1秒,然后在计时器事件中调用toolTip.Show).对我来说,使用第二个控件看起来是最简单的解决方法. (6认同)