PowerTools PlusPak for Windows Forms 8.0J
ボタンへのキー割り当て

GcCalculator コントロールのすべてのボタンに任意のキーを割り当てることができます。その仕組みと方法について、以下に解説します。

ButtonMappings プロパティ
GcCalculator コントロールでは、電卓のすべての操作をキーボードから行えるようにするために、電卓の各ボタンにショートカットキーを割り付ける機能が用意されています。この機能は、ButtonMappings プロパティが参照する CalculatorButtonMappingCollection コレクションによって実現されます。

CalculatorButtonMappingCollection コレクションは、電卓のボタンに割り付けるショートカットキーを追加または削除するために、以下のメソッドを持っています。

Add は、単独のショートカットキーをコレクションに追加するときに使用し、AddRange は、複数のショートカットキーを同時にコレクションに登録する場合に使用します。また、Insert は、コレクション内の位置を指定してショートカットキーを追加できます。これらのメソッドで追加したショートカットキーは、Remove で削除します。

なお、CalculatorButtonMappingCollectionコレクションに重複したキーを設定することはできません。たとえば、キーボードの[X]キーに逆数を計算する機能を割り付けた後に、同じ[X]キーに別の機能を割り付けることはできません。

ショートカットキーを割り当てる対象となるボタンはボタンのキー名で指定し、ショートカットキーはWeb サイトSystem.Windows.Forms.Keys 列挙体で指定します。
サンプルコード
次のサンプルコードは、AddRange メソッドを使ってボタンの機能をキーに割り付ける方法を示します。

' 2つのキー[P]と[M]にボタンの"+"と"-"を設定します。
Dim keysSpecified As Keys() = {Keys.P, Keys.M}
Dim buttonsSpecified As String() = {"+", "-"}
GcCalculator1.ButtonMappings.AddRange(keysSpecified, buttonsSpecified)
// 2つのキー[P]と[M]にボタンの"+"と"-"を設定します。
Keys[] keysSpecified = {Keys.P, Keys.M};
string[] buttonsSpecified = {"+", "-"};
gcCalculator1.ButtonMappings.AddRange(keysSpecified, buttonsSpecified);
   
参照