GrapeCity InputMan for Windows Forms 10.0J > InputManの使い方 > タッチ機能 > タッチキーボードの制御 |
InputMan が提供するタッチキーボードを制御する機能について解説します。
OS付属のタッチキーボードは、サイズを変更することができないため入力操作を行っているフォームを隠してしまう場合があります。 特に、コンボコントロールのリストボックス、日付時刻コントロールのカレンダーなど、ドロップダウンされるオブジェクトもタッチキーボードの背面に表示されることがあります。 しかし、これらのドロップダウンオブジェクトは、値を選択するだけで入力ができるUIであるため、タッチキーボードは不要になります。
タッチキーボードがドロップダウンを隠す例 |
DropDown クラスのAutoHideTouchKeyboard プロパティを使用すると、ドロップダウン表示時にタッチキーボードを自動的に非表示にすることができます。AutoHideTouchKeyboard プロパティには次の値を設定することができます。 既定値はAutoHideTouchKeyboard.AutoHide です。
AutoHideTouchKeyboardの値 | 説明 |
---|---|
AutoHide | ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。 |
HideAndReshow | ドロップダウンオブジェクトが表示されたとき、タッチキーボードを非表示にします。その後、ドロップダウンオブジェクトが閉じたとき、タッチキーボードを再表示します。 |
None | タッチキーボードを閉じません。ドロップダウンオブジェクトとタッチキーボード両方を表示します。 |
AutoHideTouchKeyboard プロパティは、OS付属のタッチキーボードだけではなく、ソフトキーボードコンポーネントに対しても有効です。 |
次のサンプルコードは、日付コントロールに対し、ドロップダウンカレンダーの表示・非表示に伴い、タッチキーボードを非表示にし、再度表示します。
GcDate1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow
gcDate1.DropDown.AutoHideTouchKeyboard = GrapeCity.Win.Editors.AutoHideTouchKeyboard.HideAndReshow;
IMEコンポーネントは、タッチキーボードを制御する機能を搭載しています。 以下で紹介する機能を使用する際にはIMEコンポーネントをフォームに配置する必要があります。
IMEコンポーネントは、InputMan のソフトキーボードコンポーネントを制御することはできません。Windows 8以降に搭載される、OS付属のタッチキーボードのみ制御します。 |
IMEコンポーネントは以下のメソッドを提供し、これにより任意のタイミングでタッチキーボードを表示したり非表示にしたりすることができます。
Private Sub GcTextBox1_Enter(sender As Object, e As EventArgs) Handles GcTextBox1.Enter ' タッチキーボードを表示します。 GcIme1.ShowTouchKeyboard() End Sub Private Sub GcTextBox1_Leave(sender As Object, e As EventArgs) Handles GcTextBox1.Leave ' タッチキーボードを非表示にします。 GcIme1.HideTouchKeyboard() End Sub
private void gcTextBox1_Enter(object sender, EventArgs e) { // タッチキーボードを表示します。 gcIme1.ShowTouchKeyboard(); } private void gcTextBox1_Leave(object sender, EventArgs e) { // タッチキーボードを非表示にします。 gcIme1.HideTouchKeyboard(); }
IMEコンポーネントをフォームに配置すると、SetInputScope メソッドが入力コントロールのプロパティウィンドウに「InputScope プロパティ」として追加されます。
InputScope プロパティでは設定したIMEモードに応じて、表示されるタッチキーボードの初期表示時のレイアウトを変更することができます。
InputScope プロパティの設定 | タッチキーボードのレイアウト |
---|---|
Default(既定値) AlphanumericFullWidth(全角英数) Hanja(Hanja文字) HanjaFullWidth(全角 Hanja 文字) HanjaHalfWidth(半角 Hanja 文字) Hiragana(全角ひらがな) KatakanaFullWidth(全角カタカナ) KatakanaHaflWidth(半角カタカナ) |
|
AlphanumericHalfWidth(半角英数) | |
Number(半角数字) NumberFullWidth(全角数字) TelephoneNumber(電話番号) |
|
EmailSmtpAddress(電子メールアドレス) | |
Url(URL) | |
Search(検索クエリー) |
InputScope プロパティではコントロールのIMEモードを切り替えることも可能です。この機能の詳細や設定可能な値については、下記の項目をご覧ください。
|