• 締切済み

文字入力モードの切り替え

はじめまして。 いきなりで申し訳ありませんが、よろしくお願いします。 Aテキストボックスにはひらがな Bテキストボックスには半角英数 Cテキストボックスにはカタカナ テキストボックスにフォーカスしたときに自動でIMEが切り替わり、それぞれに設定した文字で入力する。 と言う設定をしたいのですが、ソフトを立ち上げても右下のタスクバーにIMEが表示されておらず、テキストボックスにフォーカスしてもうまく機能しないのです。 一度でも「Alt+半角/全角」でIMEを右下のタスクバーに表示してやるとそれ以降はうまくいくのですが・・・・・ ソフトを立ち上げたときにIMEが機能するようにしたいのですがどうすればよいでしょうか? なにぶん初心者なのでわかりにくい質問かと思いますが、よろしくお願いします。 環境:VB2008 VS2008Express Editionで開発しています。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

VirtualPC上の Vista Ultimateでも確認しましたが ImeModeの設定のみで動作するようです テキストボックスのEnterイベントで TextBox1.ImeMode = Windows.Forms.ImeMode.Hiragana などの設定してもだめでしょうか VB2008はインストールしていないので .NET Frameworkの差なのかも・・・ IMEは表示状態ですよ デスクトップでもタスクバーでも非表示でも動作しているようです Vista側は IME2007です

ymsk99
質問者

お礼

先ほどGotFocusイベントで TextBox1.ImeMode = Windows.Forms.ImeMode.Hiragana としてやってみたところ Vistaでは失敗し、 XPではうまくいきました。 Vistaで開発したものをそのままコピーしてXPでデバッグしました。 redfox63さんの仰る様に.NET Frameworkの差なのか、 IMEのバージョンの所為なのでしょうか・・・・ こうなるとPCの設定の問題なのでしょうか?

ymsk99
質問者

補足

ありがとうございます! 教えていただいた事をあれこれ試したいたらできました!! 初心者の何を言っているかわからないようなことに親身になっていただき、誠にありがとうございました。 本当にお世話になりました。 ありがとうございます。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

おかしいですね … 当方の環境は WinXP SP3 + VS2005です IMEは IME2003を使用しています

ymsk99
質問者

お礼

テキストボックスだけではなく、フォームに対してもIMEモードを変えなければならないのですかねぇ。 redfox63さんは最初からIMEがタスククバーにでていますか? ちなみに僕のOSはVistaです。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

テキストボックスのImeMode設定してやればいいのでは? Aテキストボックスは『Hiragana』 Bテキストボックスは『Alpha』または『Close』 Cテキストボックスは『Katakana』 といった具合でしょう これでも Aテキストボックスに未確定の入力がある状態で Bテキストボックスにフォーカスを変えてしまうと希望の動作になりませんが …

ymsk99
質問者

お礼

お返事ありがとうございます。 教えていただいたとおりやってみましたが、 やはり「Alt+半角/全角」を押して一度手動で変えてやらないと機能しないです・・・・

関連するQ&A

専門家に質問してみよう