private void timer_Tick(object sender, EventArgs e) {
timer.Stop();
switch (state) {
case TipState.Initial:
if (active_control == null)
return;
tooltip_window.Present (active_control, (string)tooltip_strings[active_control]);
state = TipState.Show;
timer.Interval = autopop_delay;
timer.Start();
break;
case TipState.Show:
tooltip_window.Visible = false;
state = TipState.Down;
break;
default:
throw new Exception ("Timer shouldn't be running in state: " + state);
}
}