カレンダーコントロールでは、以下の4つの機能をショートカットキーに登録できます。
- フォーカスを次のコントロールに移動する。
- フォーカスを前のコントロールに移動する。
- コントロールの内容をクリアする。
- システム日付を取得する。
ショートカットキーを登録するには、ShortcutCollectionオブジェクトのAddメソッドを使用します。
たとえば、[Ctrl]+[N]キーで次のコントロールへ移動する場合は、以下のようになります。
KeyActions列挙体に設定可能な値は、次のとおりです。System.Windows.Forms.Keys列挙体については、「
Keys 列挙体(MSDN)」を参照してください。
KeyActionsの値 |
説明 |
NextControl |
フォーカスを次のコントロールに移動します。 |
PreviousControl |
フォーカスを前のコントロールに移動します。 |
Clear |
コントロールの内容をクリアします。この機能は、デフォルトで[F2]キーに割り当てられています。 |
Now |
システム日付を取得します。この機能は、デフォルトで[F5]キーに割り当てられています。 |
ショートカットキーを割り当てるときの4つの注意点について説明します。
1. すでに使用されているキー
Windowsとコントロールが使用しているキーをショートカットキーに割り当てると、本来の動作が正しく行われなくなることがあります。
Windowsが使用しているキー |
キー |
説明 |
[F1] |
Windowsヘルプの起動 |
[F10] |
メニューバーをアクティブにする |
[Help] |
Windowsヘルプの起動 |
[Shift]+[F1] |
コンテキストヘルプの起動 |
[Shift]+[F10] |
コンテキストメニューの表示 |
[Ctrl]+[Shift]+[Esc] |
タスクマネージャの起動 |
[Ctrl]+[Esc] |
スタートメニューの表示 |
2. ボタン関連プロパティの設定
以下のプロパティの設定は、特定のキーの動作に影響を与えます。これらのキーをショートカットキーに割り当てる場合は、細心の注意が必要です。
プロパティ |
関連するキー |
AcceptButton(フォーム) |
[Enter] |
CancelButton(フォーム) |
[Esc] |
3. 重複したキーの割り当て
ShortcutCollectionオブジェクトには、それぞれ異なるキーを登録してください。ただし、KeyActions列挙体のNextControlとNextField、PreviousControlとPreviousFieldの各組み合わせには、それぞれ同じキーを設定することが可能です。
4. KeyDownイベントによるキーフック
ShortcutCollectionオブジェクトに割り当てたキーコードをコントロールのKeyDownイベントでフックすることはできません。これは、1つのキーに複数の動作が割り当てられ、予期できない結果をまねくことのないようにするためです。ショートカットキーに設定したキーについては、KeyDownイベントなどのキー関連イベント内で操作しないようにしてください。