public void KeyTipSelect(KryptonRibbon ribbon)
{
// Can the trackbar take the focus
if (_trackBar.LastTrackBar.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 trackbar 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
_trackBar.LastTrackBar.Focus();
// If the trackbar is inside a popup window
if (_trackBar.LastParentControl is VisualPopupGroup)
{
// Ensure that the previous ribbon focus is restored when the popup window is dismissed
VisualPopupGroup popupGroup = (VisualPopupGroup)_trackBar.LastParentControl;
popupGroup.RestorePreviousFocus = true;
}
}
}