protected virtual void HandleApplicationIdle(object sender, EventArgs e)
{
// Remove the handler before triggering the event
Application.Idle -= new EventHandler(HandleApplicationIdle);
this.hasIdleHandler = false;
this.OnSelectionChanged(new EventArgs());
}