目次へ戻ります
VB サンプル


VB テキストボックス イベント

テキストボックス (TextBox) コントロール
ユーザーがテキスト ボックス コントロールに入力するか、コードで設定することもできます。テキスト ボックス コントロールは、"編集フィールド" または "編集コントロール" と呼ばれることもあります。
●Changeテキストボックス内の文字列を編集した
●Click項目を選択した
●DblClick項目ををダブルクリックした
●KeyPress文字キーを押した
●KeyDownキーを押した
●KeyUpキーを離した
●GotFocusフォーカスが設定された
●Validateフォーカスを移動する直前
●LostFocusフォーカスを失った
●Scrollリスト部分がスクロールした
●MouseMoveマウスを移動した
●MouseDownマウスボタンを押した
●MouseUpマウスボタンを離した
●DragDropコントロールをオブジェクト上までドラッグした
●DragOverドラッグ アンド ドロップ操作の進行中
●LinkOpenDDE通信の開始
●LinkCloseDDE通信の終了
●LinkNotifyDDEリンクによって定義されたデータを変更した
●LinkErrorDDE通信中にエラーが発生した
●Change イベント

【機能】テキストボックスのテキストを変更したときに発生します。

【書式例】Private Sub Text1_Change()

【イベントの発生順→】
    
1文字入力KeyDownKeyPressChangeKeyUp
プログラムで文字列をセットChange   

※ Changeイベント内で Textプロパティを使って変更を行なうと、イベントの連鎖が発生してエラーの原因になります。
●Click イベント

【機能】方向キーの押下またはマウス ボタンのクリックによって項目を選択した場合に発生します。

【書式例】Private Sub Text1_Click()

【イベントの発生順→】
    
クリックMouseDownMouseUpClick

※ Click イベントに対してコードが記述されている場合、DblClickイベントが発生しなくなります。
●DblClick イベント

【機能】項目がダブルクリックされた場合に発生します。

【書式例】Private Sub Text1_DblClick()

【イベントの発生順→】
    
ダブルクリックMouseDownMouseUpClickDblClickMouseUp
●GotFocus イベント

【機能】フォーカスが設定されたときに発生します。

【書式例】Private Sub Text1_GotFocus()

【イベントの発生順→】
    
クリックMouseDownGotFocusMouseUpClick

※ ほかのコントロールの有効/無効または表示/非表示を切り替えるという処理はここで記述します。
●KeyDown、KeyUp イベント

【機能】キーを押したとき/離したときに発生します。

【書式例】Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
【書式例】Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)

     KeyCode : F1キーのときは vbKeyF1、Homeキーのときは vbKeyHome など、キーコードを示す定数

Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
ShiftvbShiftMask1
CtrlvbCtrlMask2
AltvbAltMask4

【 例 】
  If ((Shift And vbShiftMask) > 0) Then
    Debug.Print "シフトキーが押されています。"
  End If

【イベントの発生順→】
    
テキストの編集KeyDownKeyPressChangeKeyUp
BSキーで修正KeyDownKeyPressChangeKeyUp
DELキーで修正KeyDownChangeKeyUp 
移動キーを叩いたKeyDownKeyUp  

Tabキーは、キーイベントが発生しません。
KeyDown、KeyUpイベントでは、大文字と小文字('A'と'a')は同じキーコード(文字)として認識されます。
●KeyPress イベント

【機能】文字キーを押したときに発生します。

【書式例】Private Sub Text1_KeyPress(KeyAscii As Integer)

【 例 】
  If (KeyAscii = 13) Then Combo2.SetFocus '改行ならフォーカスを次へ移動

【イベントの発生順→】
    
改行キーを叩いたKeyDownKeyPressKeyUp 
テキストの編集KeyDownKeyPressChangeKeyUp

KeyPressイベントでは、大文字と小文字('A'と'a')は異なるキーコード(文字)として認識されます。
ファンクションキー、編集キー(Ins,Del,BS)、移動キー、およびこれらのキーと補助キーとの組み合わせなど、KeyPressイベントでは認識できないキー操作を処理する場合は、KeyDown、KeyUpイベントを使用します。
●LostFocus イベント

【機能】フォーカスを失ったときに発生します。

【書式例】Private Sub Text1_LostFocus()

【イベントの発生順→】
    
フォーカスを失ったValidateLostFocus

※ GotFocusイベントで設定した値を元に戻す場合はここで記述します。
※ フォーカスを失いたくない場合は、Validate イベントで制御します。
●Validate イベント

【機能】フォーカスが移動する前に発生します。

【書式例】Private Sub Text1_Validate(Cancel As Boolean)
    
Cancelコントロールがフォーカスを失うかどうかを決定する値です。真 (True) に設定すると、コントロールはフォーカスを維持します。

【イベントの発生順→】
    
フォーカスの移動ValidateLostFocus

【 例 】
  If (Flg = 1) Then
    Cancel = True
  End If

※ フォーカスを受け取るコントロールが CausesValidation プロパティを真 (True) に設定している場合に限り、Validate イベントが発生します。
●MouseDown、MouseUp イベント

【機能】マウスボタンを押したとき/離したときに発生します。

【書式例】Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
【書式例】Private Sub Text1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

     Button : 押されたボタンに対応するビットのいずれか1つがオンになります。
左ボタンvbLeftButton1
右ボタンvbRightButton2
中央ボタンvbMiddleButton4

Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
ShiftvbShiftMask1
CtrlvbCtrlMask2
AltvbAltMask4

X、Y : マウス ポインタの現在位置を表す数値です。(関連:ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop)

【イベントの発生順→】
    
クリックMouseDownMouseUpClick  
ダブルクリックMouseDownMouseUpClickDblClickMouseUp
●MouseMove イベント

【機能】グリッド上でマウスを移動したときに発生します。 ※実際はマウスポインタの下をグリッドが移動したとき

【書式例】Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

     Button : 押されたボタンに対応するビットがオンになります。
左ボタンvbLeftButton1
右ボタンvbRightButton2
中央ボタンvbMiddleButton4

Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
ShiftvbShiftMask1
CtrlvbCtrlMask2
AltvbAltMask4

X、Y : マウス ポインタの現在位置を表す数値です。(関連:ScaleHeight、ScaleWidth、ScaleLeft、ScaleTop)

【 例 】
  If (Button And vbLeftButton) > 0 Then
    MsgBox "左ボタンが押されています。"
  End If

※ フォーカスの状態に関係なく、マウスポインタの下をグリッドが移動しているとイベントが発生します。
※ MouseMove内でグリッドを移動させるとイベントの連鎖が発生して、エラーの原因になります。

目次へ戻ります