[VB, C#] Windows 8, Window 10 で ImeModeが制御できない問題を解決する
タイトルの通りですが、Windows 8 以降では Windows Form アプリケーションで、コントロールの ImeMode
に Katakana
や KatakanaHalf
を設定しても、カタカナになってくれません。
なぜ ImeMode が効かないのか?
Windows 8 以降、IME Mode の切り替えは、ユーザー単位で切り替わるようになった為、アプリから IME Mode 制御が出来ないようになりました。
(IME をON にした場合、常に ひらがな
モードになます)
※ Windows 7までは、IME Modeの切り替えはアプリ単位で行われていた為、問題なくアプリから IME制御が行えました。
スポンサーリンク
対処方法
Windows 8 以降、IMEの制御は、InputScope
クラスの利用が推奨されています。
しかし、InputScope
クラスは、WPF、Windows ストアアプリでしか使えない為、Windows Formアプリでは使用できません。
(Windows Form はもう使うな!という事でしょうか (涙) )
結論としては、コントールパネルの設定で、IMEの制御をユーザ単位から アプリ単位に変更する事ができます。
これで、Windows Formアプリでも 従来通りIMEの制御を行う事が出来ます。
おわりに
この方法だと、アプリをインストールする端末すべてに設定が必要となり、とっても面倒です。。。
しかし、今の所これしか方法がない状態です。
これからは Windows Formではなく、WPFや Windows ストアアプリで作れという事ですかね (^^;)
0 件のコメント:
コメントを投稿