IMEがListBoxのKeyDownを横取りする
- 題名: IMEがListBoxのKeyDownを横取りする
- 著者: KJ
- 日時: 2009/08/05 23:29:32
- ID: 25148
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: IMEがListBoxのKeyDownを横取りする
- 著者: やじゅ
- 日時: 2009/08/06 12:58:21
- ID: 25152
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: IMEがListBoxのKeyDownを横取りする
- 著者: KJ
- 日時: 2009/08/07 0:25:29
- ID: 25160
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
WPFです。
ListBoxのKeyDownイベントを拾って処理するコードを書いていたのですが、PCによって動かないという状況になりました。
調べたところ、IMEの設定が、IME standardになっているPCでは動作し、
Natural inputになっているPCだと、KeyDownイベントがIMEに横取りされて動いていないことがわかりました。
Natural inputだと、アプリケーション起動時に勝手に日本語入力がONになり、OFFにしてもキーは横取りされたままです。
横取りされるキーは、アルファベットや数字キー、Deleteキーなどです。
PreviewKeyDownイベントを調べたところ、Keyの値がImeProcessedになっていました。
IMEによる横取りを防ぐ手はないでしょうか?
あるいは、横取りされる前のキーを取得する方法はないでしょうか?