WindowsフォームのオブジェクトのIMEの設定
Windowsフォームにて、
オブジェクトが選択されている場合に、そのオブジェクトのIMEのステータスを設定する方法を解説します。
オブジェクトのIMEの設定方法:コード
//IME設定なし
textBox1.ImeMode = ImeMode.NoControl;
//IMEをオフに
textBox2.ImeMode = ImeMode.Off;
//IMEをオンに
textBox3.ImeMode = ImeMode.On;
//IMEをカタカナに
textBox4.ImeMode = ImeMode.Katakana;
//IMEを半角カタカナに
textBox5.ImeMode = ImeMode.KatakanaHalf;
//IMEをひらがなに
textBox6.ImeMode = ImeMode.Hiragana;
//IMEを無効に
textBox7.ImeMode = ImeMode.Disable;
//IMEを全角英数字
textBox8.ImeMode = ImeMode.AlphaFull;
//IMEを半角英数字
textBox9.ImeMode = ImeMode.Alpha;
これより下で詳細を解説していきます。
ImeMode.NoControl
IMEに何も設定しない場合に使用する。
デフォルトだとこの設定になります。
ImeMode.NoControlを設定しているコントロールにフォーカスが移動した場合、
移動前の設定がそのまま使用されます。
ImeMode.Off
IME入力モードをオフにします。
ImeMode.Offを設定しているコントロールにフォーカスが移動した場合、
英語入力モードと同じ動きをします。
ImeMode.On
IME入力モードをオンにします。
オンにすることで日本語固有の文字を入力可になります。
ImeMode.Onを設定しているコントロールにフォーカスが移動した場合、
日本語入力モードになります。
ImeMode.Katakana
IME入力モードを全角カタカナにします。
ImeMode.Katakanaを設定しているコントロールにフォーカスが移動した場合、
全角カタカナ入力モードになります。
ImeMode.KatakanaHalf
IME入力モードを半角カタカナにします。
ImeMode.KatakanaHalfを設定しているコントロールにフォーカスが移動した場合、
半角カタカナ入力モードになります。
ImeMode.Hiragana
IME入力モードをひらがなにします。
ImeMode.Hiraganaを設定しているコントロールにフォーカスが移動した場合、
ひらがな入力モードになります。
ImeMode.Disable
IME入力モードを無効にします。
ImeMode.Disableを設定しているコントロールにフォーカスが移動した場合、
ユーザーはIME設定を変更することが出来なくなります。
ImeMode.AlphaFull
IME入力モードを全角英数にします。
ImeMode.AlphaFullを設定しているコントロールにフォーカスが移動した場合、
全角英数入力モードになります。
ImeMode.Alpha
IME入力モードを半角英数にします。
ImeMode.Alphaを設定しているコントロールにフォーカスが移動した場合、
半角英数入力モードになります。
Windows8以降の挙動
Windows8以降ではIME設定がユーザーごとに設定される?ため、
ImeMode.Katakana
ImeMode.KatakanaHalf
ImeMode.Alpha
ImeMode.AlphaFull
がうまく動作しません。
上記の赤丸部分にチェックを入れ、アプリごとにIMEを設定する必要があります。
ImeMode.Alphaを動作させたいだけならImeMode.Offを代わりに使用するのもありです。
まとめ
最近はWindows8以降のPCも多いので、
思わぬ挙動に混乱することがあります。
お客様のPCがWindows10で、
僕が使っていた開発用PCがWindows7だったため、
中々原因が分からず苦労しました。
Windowsフォーム関連記事
- Windowsフォームでバージョン情報を画面タイトルの横に出す
- Windowsフォームのグループボックス・パネルのTabIndex設定方法
- Windowsフォームのコンボボックスのドロップダウンリストの幅の変更方法
- Windowsフォームを常に最前にする方法
- Windowsフォームの表示位置の種類と設定方法
- Windowsフォームにスクロールバーを自動的に表示する方法
- WindowsフォームのDataGridViewでセルに収まりきらなかった文字列を折り返して表示する方法
- WindowsフォームでTabIndexをまとめて並べ替える方法
- Windowsフォームでフォーム上に直線を引く方法
- WindowsフォームのDataGridViewで自動的に行の高さを調整する方法
- WindowsフォームのオブジェクトのIMEの設定
- WindowsフォームのDataGridViewで自動的に列の幅を調整する方法
- Windowsフォームの最大化・最小化の禁止設定
- Windowsフォームのコントロールにタブで遷移できないように設定する方法
- Windowsフォームでカスタムコントロールを作成しDLLとして保存する方法
ディスカッション
コメント一覧
まだ、コメントがありません