An interesting dilemma :)
A property is a good declarative way to specify the display time - especially if you want the same delay time for all tooltips. But if you need to set a specific display time for particular tooltips (say, in one column containing cells with long texts), you will need to add an event handler for the corresponding Request*ToolTipText event and set the property value. Note that we will need to specify the default display time too for other 'normal' cells:
if (<specific cell>)
iGrid.ToolTipDisplayTime = <specific time>;
else
iGrid.ToolTipDisplayTime = <default time>;
If we use the approach with the event object property, we will do this the following way:
if (<specific cell>)
iGrid.ToolTipDisplayTime = <specific time>;
Another question is whether to have 3 separate properties for the 3 iGrid areas (cell area, footer cells, column headers). If we use approach with one iGrid property for all, then we will need to write 3 event handlers for all areas (RequestCellToolTipText, RequestColHdrToolTipText and RequestFooterCellToolTipText) because we will need to abandon the specific display time setting made for one of these areas.
What do you think?
====================
And one note regarding this:
I noticed that the text displayed when evoking RequestCellToolTipText, RequestColHdrToolTipText or RequestFooterCellToolTipText has a duration of about 5 seconds
Even if we do not redefine the tooltip in one of these events, the default duration is still 5 seconds. Take this into account while thinking about the answer.