protected override void OnSelectedIndexChanged(EventArgs e)
{
base.OnSelectedIndexChanged(e);
// If we haven't already scheduled an event, schedule it to be triggered
// By using idle time, we will wait until all select events for the same
// user action have finished before triggering the event.
if (!this.hasIdleHandler) {
this.hasIdleHandler = true;
this.RunWhenIdle(HandleApplicationIdle);
}
}