'C# tooltip doesn't display long enough

I have a tooltip that is appearing on mouse hover on an image:

ToolTip tt = new ToolTip();
protected virtual void pictureBox_MouseHover(object sender, EventArgs e)
{
    tt.InitialDelay = 0;
    tt.SetToolTip(this.pictureBox, "Click 'LIVE ...");
}

My problem is that my text is rather long, and the tooltip disappears too fast. How can I get the tool tip to be displayed for longer?



Solution 1:[1]

Set the value of AutoPopDelay property

 tt.AutoPopDelay = 10000;

Solution 2:[2]

Unlike the answer described by Justin, I was not able to get the ToolTip to display for longer than the 5 seconds using the show method.

One of the other hangups I was having was the AutomaticDelay property. Long story short - if you want custom AutoPopDelay do not set AutomaticDelay.

Setting this property will automatically set... see MSDN:

AutoPopDelay = 10 x AutomaticDelay

InitialDelay = AutomaticDelay

ReshowDelay = (0.2) x AutomaticDelay

Here's code that worked for me:

ToolTip tt = new ToolTip();
private void someObjectName_MouseHover(object sender, EventArgs e) {
    tt = new ToolTip
    {
        AutoPopDelay = 15000,  // Warning! MSDN states this is Int32, but anything over 32767 will fail.
        ShowAlways = true,
        ToolTipTitle = "Symbolic Name",
        InitialDelay = 200,
        ReshowDelay = 200,
        UseAnimation = true
    };
    tt.SetToolTip(this.someObjectName, "This is a long message");
}

Bonus:

private void someObjectName_MouseLeave(object sender, EventArgs e)
    {
        tt.Active = false;
    }

Solution 3:[3]

ToolTip.Show(text, [control], time in milliseconds) is what you need i think

This will let you display your long text for a specific number of milliseconds. Also if you text is too long then you could inert NewLine in between the text so that its wrapped up and not shown as a long tooltip spanning across the form

Solution 4:[4]

I've found the following steps work for me:

Set the to 1/10 of your desired .

Then you can adjust your and your afterwards.

MSDN Link

Solution 5:[5]

Doesn't seem to be mentioned. Setting ToolTipService.ShowDuration="20000" on the parent works for me. MSDN doesn't say but it's in milliseconds.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Serghei
Solution 2 Community
Solution 3
Solution 4 Joel
Solution 5 LueTm