Windows 8以降のOSでImeModeプロパティによるIMEモードの切り替えが動作しない

Windows 8でImeMode Katakana/KatakanaHalfが有効にならない。 | かるあのメモ on WordPress



 この問題はWindowsフォーム標準のコントロールでも共通するものですが、グレープシティの下記のナレッジベースに情報が記載されています。

Windows 8やWindows Server 2012環境でIMEモードが切り替わりません - .NET 製品共通 - ナレッジベースの詳細|Developer Tools - グレープシティ株式会社



 解決方法は2つです。1つは「OSの設定変更による対応」。もう1つはInput Scopeを設定するという方法です。


 後者のInput Scopeを設定するという方法の場合、WPFWindowsストアアプリであればInputScopeプロパティとして存在しているので、それを使用します。Windowsフォームは進化が止まってしまっていることから、このような比較的新しいOS機能の変化に対応しておらず、プロパティは用意されていません。直接Text Services FrameworkのSetInputScope functionを使用して実装するか、または是非InputManの利用をご検討ください。


 上記のナレッジベースにも記載されていますが、以下の製品では、InputScopeプロパティが提供されています。