InputManのコントロールで[F2]キーなどの特定のキーのKeyDownイベントが発生しません。

文書番号 : 40916     文書種別 : 使用方法     登録日 : 2017/08/25     最終更新日 : 2017/08/25
文書を印刷する
対象製品
InputMan for Windows Forms 10.0J
詳細
InputManの各コントロールをフォームに配置すると、ショートカットコンポーネントが自動で配置され、デフォルトでショートカットキーが設定されます。ショートカットの設定があるキーでは、ショートカット機能が優先されてKeyDownイベントが無効になるため、KeyDownイベントが発生しません。KeyDownイベントを発生させるためには、以下いずれかの方法を行います。

ショートカット機能を無効にする方法

デフォルトで追加されるショートカット機能が不要な場合には、この設定を解除してKeyDownイベントを発生させる方法があります。ショートカットキーの設定を解除するには、コントロールのスマートタグにある「ショートカットキーの編集...」で行うか、下記のようにコーディングで行うことができます。

次のサンプルコードは、数値コントロール(GcNumber1)の[F2]キーに設定されているショートカット機能を解除する例です。

[Visual Basic]
GcShortcut1.GetShortcuts(GcNumber1).Remove(Keys.F2)

[C#]
gcShortcut1.GetShortcuts(gcNumber1).Remove(Keys.F2);

ショートカット機能は有効のまま、イベントを発生させる方法

デフォルトで追加されるショートカット機能を有効な状態のままKeyDownイベントを発生させるには、ショートカットコンポーネントのBlockKeyMessageプロパティをFalseに設定します。BlockKeyMessageプロパティはショートカットキー押下のメッセージをブロックするか、しないかを設定するプロパティです。

[Visual Basic]
GcShortcut1.BlockKeyMessage = False

[C#]
gcShortcut1.BlockKeyMessage = false;
関連情報