internal override bool TryHideFocusBoxAndUninstall()
{
if (!IsFocusBoxInstalled)
{
SelectedOccurrence = null;
return false;
}
var oldAnnotation = SelectedOccurrence;
SelectedOccurrence = null;
SimulateReplaceAnalysis(oldAnnotation);
bool fFocus = this.Focused || ExistingFocusBox.ContainsFocus;
FocusBox.SizeChanged -= FocusBox_SizeChanged;
ExistingFocusBox.SuspendLayout();
ExistingFocusBox.Visible = false;
this.SuspendLayout();
this.Controls.Remove(ExistingFocusBox);
this.ResumeLayout();
ExistingFocusBox.ResumeLayout();
// hiding the ExistingFocusBox can sometimes leave the focus on one of its controls,
// believe it or not! (See FWR-3188.)
if (fFocus && !this.Focused)
this.Focus();
return true;
}