protected override void OnKeyDown (KeyEventArgs ke)
{
base.OnKeyDown (ke);
if (ke.Handled)
return;
if (ke.KeyCode == Keys.Tab && (ke.KeyData & Keys.Control) != 0) {
if ((ke.KeyData & Keys.Shift) == 0)
SelectedIndex = (SelectedIndex + 1) % TabCount;
else
SelectedIndex = (SelectedIndex + TabCount - 1) % TabCount;
ke.Handled = true;
} else if (ke.KeyCode == Keys.Home) {
SelectedIndex = 0;
ke.Handled = true;
} else if (ke.KeyCode == Keys.End) {
SelectedIndex = TabCount - 1;
ke.Handled = true;
} else if (NavigateTabs (ke.KeyCode))
ke.Handled = true;
}