小窓
KeyDown イベント [VB.NET]

作成日:2021/11/03

sender

KeyDownイベント

他の関連イベントとの関連

KeyDown、KeyPress、KeyUpの順でイベントが発生する。
KeyDown と KeyPress イベントは、キーを押し続けている間、何回も発生する。

参照できる引数

sender

senderオブジェクト

Object型
イベント発生のトリガとなったコントロールを取得する。

取得方法:その1

Dim ctl As TextBox = CType(sender, TextBox)
dim コントロール名 As Strung = ctl.Name
dim コントロール値 As Strung = ctl.Text

取得方法:その2

Dim コントロール名 As String = CType(sender, TextBox).Name Dim コントロール値 As String = CType(sender, TextBox).Text

e

EventArgs型
イベントに関連する補足情報。

e.Control

Ctrlキーが押されたかどうかを示す値(TrueまたはFalse)を取得します。

e.Handled

As Boolean
KeyEventArgs.Handled プロパティ
イベントが処理されたかどうかを示す値を取得あるいは設定します。
名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
実装方法は、Windows フォーム内のコントロールによって異なります。

プロパティ値:
コントロールの既定の処理を省略する場合は true。
コントロールの既定の処理と共にイベントも渡す場合は false。

「e.Handled = True」で、 KeyPress イベントをキャンセルする。

現在のコントロールがキーの押下を受け取らないようにするには、「SuppressKeyPress = True」とする。

e.KeyCode

e.KeyCode キーボード コードを取得、Control.KeyDown または Control.KeyUp イベントです。
.Tostringで入力文字を返す。
Esa:Escape、Shift:ShiftKey、Ctrl:ControlKey、Alt:Menu、Space:Space、
F1-F12、1-0:D1-D0、Insert:Insert、Del:Delete

e.KeyData

キーのデータの取得、Control.KeyDown または Control.KeyUp イベントです。

e.KeyValue

キーボード値を取得、Control.KeyDown または Control.KeyUp イベントです。

e.Modifiers

修飾フラグを取得、Control.KeyDownまたはControl.KeyUpイベントです。
このフラグは、Ctrlキー、Shiftキーおよび Altキーのどの組み合わせを押されたのかを示します。
[例] Ctrl + C の判定
If (e.Modifiers And Keys.Control) = Keys.Control And e.KeyCode = Keys.C Then
Ctrl + C が押された。
End If

e.Shift

e.Shift Shiftキーが押されたかどうかを示す値(TrueまたはFalse)を取得します。

e.SuppressKeyPress

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
キーイベントを基になるコントロールに渡すかどうかを示す値を取得または設定します。
True に設定すると、そのキー押下に対するKeyPressイベントは発生しなくなる。
SuppressKeyPressにTrueを設定すると、HandledにもTrueが設定される。

KeyDown などのイベント ハンドラでこのプロパティを true に設定すると、ユーザーによる入力を防止できます。
SuppressKeyPress を true に設定すると、Handled も true に設定されます。

現在のコントロールがキーの押下を受け取らないようにするには、「SuppressKeyPress = True」とする。
「SuppressKeyPress = True」とした以降、ユーザーが押下したキーを無効化する。