public virtual void KeyDown(Control c, KeyEventArgs e)
{
Debug.Assert(c != null);
Debug.Assert(e != null);
// Validate incoming references
if (c == null) throw new ArgumentNullException("c");
if (e == null) throw new ArgumentNullException("e");
switch (e.KeyCode)
{
case Keys.Enter:
case Keys.Space:
PressMenuItem();
break;
case Keys.Tab:
_viewManager.KeyTab(e.Shift);
break;
case Keys.Home:
_viewManager.KeyHome();
break;
case Keys.End:
_viewManager.KeyEnd();
break;
case Keys.Up:
_viewManager.KeyUp();
break;
case Keys.Down:
_viewManager.KeyDown();
break;
case Keys.Left:
_viewManager.KeyLeft(true);
break;
case Keys.Right:
_viewManager.KeyRight();
break;
}
}