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