public void KeyTipSelect(KryptonRibbon ribbon)
{
// Can the date time picker take the focus
if (_dateTimePicker.LastDateTimePicker.CanFocus)
{
// Prevent the ribbon from killing keyboard mode when it loses the focus,
// as this causes the tracking windows to be killed and we want them kept
ribbon.LostFocusLosesKeyboard = false;
// Prevent the restore of focus when we fill the keyboard mode, as the focus
// has been placed on the date time picker and so focus is allowed to change
ribbon.IgnoreRestoreFocus = true;
// Exit the use of keyboard mode
ribbon.KillKeyboardMode();
// Push focus to the specified target control
_dateTimePicker.LastDateTimePicker.Focus();
// If the date time picker is inside a popup window
if (_dateTimePicker.LastParentControl is VisualPopupGroup)
{
// Ensure that the previous ribbon focus is restored when the popup window is dismissed
VisualPopupGroup popupGroup = (VisualPopupGroup)_dateTimePicker.LastParentControl;
popupGroup.RestorePreviousFocus = true;
}
}
}