これは仕様変更によるものです。2.0 ではキー入力を持つコントロールとキー入力を持たないコントロールに分け、キー入力を持たないコントロールでは、IME が機能しないように変更いたしました。
キー入力を持たないと言っても、実際にはIMEを通さないキーイベントは挙がります。正確には、言葉として意味のある文字列を入力することを期待するコントロールと、ショートカット等のウィンドウをコントロールするためのキー入力のみを受け付けるコントロールと表現すべきでしょうか。
この変更は、ユーザーからの要望に基づいて行われたものですが、IMEをオフにすることなくショートカットが使用できるようにするためです。また、不必要なIMEウィンドウの表示を抑制するためでもあります。
一方、ご指摘のように、通常は入力を持たないようなコントロール上でもキー入力を受け付けたいというシナリオは確かにあると思います。しかし、単にIMEが機能すればそれで良いという場合は少なく、通常はフローティングのIMEウィンドウを出すことなく、描画も含めて自分自身でコントロールする場合が殆どです。そうするためには、単純にIMEが使える使えないではなく、どうしても、IME(IMM)関連のメッセージに応じたり、メソッドを呼び出す必要が出てきます。残念ながら現状ではこれらの対応を行うためには低レベルなメソッドを呼び出す必要があります。
このようなことを総合的に検討した結果、仕様変更させていただきました。この変更により作業が発生してしまう方には大変申し訳ありませんが、何卒ご理解のほどよろしくお願いいたします。
キー入力を受け付ける場合は、Contorl や TextBox (BorderStyle=None, BackColor=Control, Multiline=true)等を全面に貼り付けて使用してください。
この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspxをご覧ください。