I noticed two problems with .NET System.Windows.Forms.RichTextBox object:

1. While firing ContextMenu.Popup event from a RichTextBox object, the
ContextMenu.SourceControl is always null.

2. If I want to set a menuItem Enabled or not (e.g.: Cut, Copy, Reverse,
etc.) according to whether there is selected text in a RichTextBox object (I
test SelectionLength > 0 or Selected{Text||Rtf}.Length > 0 during
Application.Idle event and then update the command and menuItem state), I get
a problem with DBCS input: the Chinese IME doesn't work anymore, the Korean
IME works letter by letter instead of composing hangul characters, and the
Japanese IME works randomly. As soon as I take off the test of those
Selection related properties, I can do DBCS input perfectly within
RichTextBox objects.

Does anybody have a clue why there are those problems and how to work around?

Thanks in advance!