- 締切済み
文字入力モードの切り替え
はじめまして。 いきなりで申し訳ありませんが、よろしくお願いします。 Aテキストボックスにはひらがな Bテキストボックスには半角英数 Cテキストボックスにはカタカナ テキストボックスにフォーカスしたときに自動でIMEが切り替わり、それぞれに設定した文字で入力する。 と言う設定をしたいのですが、ソフトを立ち上げても右下のタスクバーにIMEが表示されておらず、テキストボックスにフォーカスしてもうまく機能しないのです。 一度でも「Alt+半角/全角」でIMEを右下のタスクバーに表示してやるとそれ以降はうまくいくのですが・・・・・ ソフトを立ち上げたときにIMEが機能するようにしたいのですがどうすればよいでしょうか? なにぶん初心者なのでわかりにくい質問かと思いますが、よろしくお願いします。 環境:VB2008 VS2008Express Editionで開発しています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
VirtualPC上の Vista Ultimateでも確認しましたが ImeModeの設定のみで動作するようです テキストボックスのEnterイベントで TextBox1.ImeMode = Windows.Forms.ImeMode.Hiragana などの設定してもだめでしょうか VB2008はインストールしていないので .NET Frameworkの差なのかも・・・ IMEは表示状態ですよ デスクトップでもタスクバーでも非表示でも動作しているようです Vista側は IME2007です
- redfox63
- ベストアンサー率71% (1325/1856)
おかしいですね … 当方の環境は WinXP SP3 + VS2005です IMEは IME2003を使用しています
お礼
テキストボックスだけではなく、フォームに対してもIMEモードを変えなければならないのですかねぇ。 redfox63さんは最初からIMEがタスククバーにでていますか? ちなみに僕のOSはVistaです。
- redfox63
- ベストアンサー率71% (1325/1856)
テキストボックスのImeMode設定してやればいいのでは? Aテキストボックスは『Hiragana』 Bテキストボックスは『Alpha』または『Close』 Cテキストボックスは『Katakana』 といった具合でしょう これでも Aテキストボックスに未確定の入力がある状態で Bテキストボックスにフォーカスを変えてしまうと希望の動作になりませんが …
お礼
お返事ありがとうございます。 教えていただいたとおりやってみましたが、 やはり「Alt+半角/全角」を押して一度手動で変えてやらないと機能しないです・・・・
お礼
先ほどGotFocusイベントで TextBox1.ImeMode = Windows.Forms.ImeMode.Hiragana としてやってみたところ Vistaでは失敗し、 XPではうまくいきました。 Vistaで開発したものをそのままコピーしてXPでデバッグしました。 redfox63さんの仰る様に.NET Frameworkの差なのか、 IMEのバージョンの所為なのでしょうか・・・・ こうなるとPCの設定の問題なのでしょうか?
補足
ありがとうございます! 教えていただいた事をあれこれ試したいたらできました!! 初心者の何を言っているかわからないようなことに親身になっていただき、誠にありがとうございました。 本当にお世話になりました。 ありがとうございます。