型 | 名前 | 説明 |
---|---|---|
bool | Control | Ctrlキーが押されているならば、true
|
bool | Alt | Altキーが押されているならば、true |
bool | Shift | Shiftキーが押されているならば、true |
Keys | Modifiers | Ctrl、Shift、Altキーの組み合わせ |
Keys | KeyCode | キーのコード (キーの情報)
修飾キーの状態を考慮しないときに使用する |
Keys | KeyData | キーのデータ (KeyCodeとModifiersを組み合わせた情報) |
int | KeyValue | キーの値 (KeyDataを整数値にしたもの) |
bool | Handled | コントロールの既定の処理を回避するならば、trueに設定する |
bool | SuppressKeyPress | コントロールの既定の処理を回避し、さらにKeyPressイベントを抑制するならば、trueに設定する |
trueにするとHandledがtrueに設定され、KeyPressイベントも抑制されます。SuppressKeyPress - KeyEvent.cs
コントロールは処理対象となっていないキーが入力されると、無効な操作であることを示すために警告音 (Beep音) を鳴らすことがあります。そのような場合にこのプロパティでKeyPressイベントを抑制すると、その処理を無効にできます。
protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); switch(e.KeyData) { case Keys.Delete: // Delキーが押された break; case Keys.Control | Keys.A: // Ctrl + Aキーが押された break; } if (e.Modifiers == Keys.None) // 修飾キーが押されていない { } }
なお、イベント以外で修飾キーの状態を知りたいならば、静的プロパティであるControl.ModifierKeysを参照します。