10467 : .NET tooltip delay

Question

We’re loading the tooltip text in the gantt_OnTimeItem_Hoover event. This works fine, but the tool tip appears too quickly. How and where should I set the toolTip.InitialDelay? Every way that I tried to set this property has no effect.

Answer

I tried the sample Gantt_TimeItems and you are correct, the tooltip shows directly…

This is a bit odd since these values are set on the tooltip component:

this.toolTip1.AutomaticDelay = 2000;
this.toolTip1.AutoPopDelay = 20000;
this.toolTip1.InitialDelay = 2000;
this.toolTip1.ReshowDelay = 2000;

It appears to be some un-document feature that if you call toolTip1.SetToolTip(gantt1.TimeItemArea,newTooltipText); with the same text, the tooltip show directly; ignoring the InitialDelay etc…

Work around is to avoid setting the same text twice:

if (toolTip1.GetToolTip(gantt1.TimeItemArea)!=newTooltipText)
  toolTip1.SetToolTip(gantt1.TimeItemArea,newTooltipText);

Then it started to behave as expected (Only tested in VS2006 CLR20).

Leave a Reply