- - PR -
ImeMode が勝手に変わってしまう
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-21 21:37
ImeMode が Hiragana に設定されているテキストボックスにフォーカスがある時、MessageBox.Show でメッセージボックスを表示すると、
テキストボックスの ImeMode プロパティの設定値がOff に変わってしまいます。 環境は、VS2005 です。 以下、再現方法及びC#ソースです。 1.フォームにテキストボックスを一つ配置し、ImeMode を Hiragana に設定。 2.以下のソースを記述。(テキストボックス の KeyDown イベントに割り当て) 3.実行し、F9キーを押下すると、現象が発生します。
.NET のバグの様に思われるのですが、この現象で困られた方はいませんか? 良い回避策などがありましたら、お教え頂けませんでしょうか。 # VB6 でも同様の不具合があった様な気がします。 # 伝統を受け継いでるんでしょうか・・・・・・ [ メッセージ編集済み 編集者: じょんのび 編集日時 2006-02-21 22:00 ] | ||||||||
|
投稿日時: 2006-02-21 21:58
わー、ほんとだ。
ImeModeChanged イベントで、ImeMode をチェックして Hiragana でなければ Hiragana にセットしてやれば回避できるようですが。 | ||||||||
|
投稿日時: 2006-02-21 22:15
Hongliang さんの言われる様に、
ImeMode が Hiragana のテキストボックス向けに ImeModeChanged 用のプロシージャを一つ用意してやるのも、一つの手ですね。 私も Enter イベントで、再セットする方法を考えてはみたのですが、 もう少しスマートな方法はないかなーと思いまして・・・・ 最終的に、良い方法が見つけられなければ、 Hongliang さんの方法が、良いかも知れませんね。 | ||||||||
|
投稿日時: 2006-02-21 23:57
と、とりあえず、MSDN フォーラムのフィードバック板で報告してください... orz
VB6 で有名なあの不具合は、結論は外部要因だったような気がしますが。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-22 01:30
とりあえず、フィードバック板にアップしました。
バグフィックスされるのを気長に待ちつつ、 当面は、ImeModeChanged イベントで対処しようと思います。 ご返答くださった方々、ありがとうございました。 |
1