Show tooltip on textbox entry

Tooltips only appear when the mouse is still by design.

You could try setting the InitialDelay to 0:

tt.InitialDelay = 0;

But this would still require the mouse to be stationary for an instant.

However there are other approaches. A common way of showing what input is required is to use a watermark (faded text) in the textbox that displays the formatting required until the user starts typing.

If you really want a tooltip then you could either add an information icon (usually an "i") which will show the tooltip when it's hovered over, or implement your own.

It might also work if you break the date into parts (separate day, month, year). This will allow you more control over what the user can enter - the month can become a drop down/combo box so it's always the correct format.


Hook into the textbox.enter event and use the following code:

private void textBox1_Enter(object sender, EventArgs e)
    {
        TextBox TB = (TextBox)sender;
        int VisibleTime = 1000;  //in milliseconds

        ToolTip tt = new ToolTip();
        tt.Show("Test ToolTip",TB,0,0,VisibleTime);
    }

Play with X/Y values to move it where you want. Visible time is how long until it disappears.