Reputation: 2468
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
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