When spell checking is invoked with SpellCheckingMode.AllAtOnce the parent window (the windows which showed the spell checking dialog) can be positioned in front of the spell checking windows (for example if toolbar icon for the window is pressed). This is most probably because the owner of the spell checking dialog is not set.
It seems that initializing this property chain:
rtbSpellChecker.SpellChecker.Settings.SpellCheckUppercaseWords = true;
causes the DocumentSpellChecker to be replaced by a new instance.
Workaround: Add an additionally registered RadRichTextBoxSpellChecker:
RadRichTextBoxSpellChecker rtbSpellChecker = new RadRichTextBoxSpellChecker(); rtbSpellChecker.SpellChecker.Settings.SpellCheckUppercaseWords = true; ControlSpellCheckersManager.RegisterControlSpellChecker(rtbSpellChecker);
When an incorrect word is followed by punctuation, changing the incorrect word during spell checking replaces the word and the following punctuation.
Contracted negative forms are (e.g. shouldn't, wouldn't, doesn't) are not recognized as valid words when the spell checking mode is SpellCheckingMode.WordByWord, and the control which is spell checked is TextBox or RichTextBox. Available in LIB Version 2017.3.1009.
Currently, setting RadSpellChecker.WindowSettings.ShowAlertWhenSpellCheckingCompleted only partially affects the "All at once" spell checking scenario. It is used only to suppress the alert in cases when there are not spelling errors in the control. Instead, it should be used to suppress the informational message at the end of the spell checking process and automatically close the dialog. Workaround: Create custom spell checker class, similar to RadSpellChecker, which automatically close the dialog (see the attached project).