Fred
Fred

Reputation: 2468

Tooltip on form load

I have a login form. The form has 2 textboxes, and 3 buttons. one button says "Students."

What I want to do is to show a tooltip on this button when the form opens. I dont want to have to go to the button and hover on it in order for it to display. I want the form to load, show the tooltip, and then the tooltip should disappear after 5 seconds. this is what I have tried so far:

private void Form1_Load(object sender, EventArgs e)
        {
            toolTip.IsBalloon = true;
            toolTip.ToolTipIcon = ToolTipIcon.Info;
            toolTip.ShowAlways = true;
            toolTip.UseFading = true;
            toolTip.UseAnimation = true;
            toolTip.ToolTipTitle = "Student Mode";
            toolTip.Show("You don't have to log in if you are a student. Just click here to go to the questions.", btnStudent);
        }

Upvotes: 1

Views: 1400

Answers (1)

Hans Passant
Hans Passant

Reputation: 941327

The form's Load event is mis-used far too often. It is here, the event fires before the window becomes visible. Your tooltip is therefore not visible either.

Move your code to a Shown event handler instead. Do favor overriding OnShown() btw, it doesn't make sense for a class to listen to its own events.

   protected override void OnShown(EventArgs e) {
        base.OnShown(e);
        // Your code here
        //...
   }

Upvotes: 6

Related Questions