public virtual void OnKeyDown(KeyEventArgs keyEvent) { UIWidget childWithFocus = GetChildContainingFocus(); if (childWithFocus != null && childWithFocus.Visible) { childWithFocus.OnKeyDown(keyEvent); } if (!keyEvent.Handled && keyEvent.KeyCode == Keys.Tab) { if (keyEvent.Shift) { FocusPrevious(); } else { FocusNext(); } } }