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);
Make the TextBox spell checker generic, so that controls that inherit from TextBox can be spell checked out of the box.
When the custom control for spell checking contains several TextBoxes, allow spell checking of them in turns, instead of opening a different spell checking dialog for each.
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).
When the spell-check find an error in a TextBox, the wrong word should be underlined with a red curly line.
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.
Provide option allowing to choose whether URLs should be spell checked.