protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
{
switch (e.KeyCode) {
case Keys.Down:
SelectedIndex += 1;
break;
case Keys.End:
SelectedIndex = Items.Count - 1;
break;
case Keys.Home:
SelectedIndex = 0;
break;
case Keys.PageDown:
SelectedIndex += ScrollBar.LargeChange;
break;
case Keys.PageUp:
SelectedIndex -= ScrollBar.LargeChange;
break;
case Keys.Space:
ToggleExpandedState(SelectedIndex);
break;
case Keys.Up:
SelectedIndex -= 1;
break;
default:
base.OnPreviewKeyDown(e);
break;
}
}