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


VB コンボボックス イベント

コンボ ボックス (ComboBox) コントロール
コンボ ボックス コントロールは、テキスト ボックス (TextBox) コントロールとリスト ボックス (ListBox) コントロールの機能を組み合わせたものです。ユーザーは、テキスト ボックス部分にテキストを直接入力する方法と、リスト部分から項目を選択する方法のどちらでも入力できます。
●Change テキストボックス内の文字列を編集した
●Click 項目を選択した
●DblClick 項目ををダブルクリックした
●DropDown リスト部分がドロップダウンするとき
●KeyPress 文字キーを押した
●KeyDown キーを押した
●KeyUp キーを離した
●GotFocus フォーカスが設定された
●Validate フォーカスを移動する直前
●LostFocus フォーカスを失った
●Scroll リスト部分がスクロールした
●DragDrop コントロールをオブジェクト上までドラッグした
●DragOver ドラッグ アンド ドロップ操作の進行中
●Change イベント

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

【書式例】Private Sub Combo1_Change()

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

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

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

【書式例】Private Sub Combo1_Click()

【イベントの発生順→】
    
クリック DropDown Click  
方向キーの押下 KeyDown Click KeyUp

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

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

【書式例】Private Sub Combo1_DblClick()

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

※ Styleプロパティが 1 (標準コンボ) に設定されたコンボボックスのみ、イベントが発生します。
●DropDown イベント

【機能】コンボボックスのリスト部分がドロップダウンするときに発生します。

【書式例】Private Sub Combo1_DropDown()

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

DropDownイベントでコンボボックスのリスト部分の内容を、ユーザーがそこから選択を行う直前に更新することができます。
Styleプロパティが 1 (標準コンボ) に設定されている場合は発生しません。
●GotFocus イベント

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

【書式例】Private Sub Combo1_GotFocus()

【イベントの発生順→】
    
クリック DropDown GotFocus Click

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

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

【書式例】Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
【書式例】Private Sub Combo1_KeyUp(KeyCode As Integer, Shift As Integer)

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

Shift : Shift、Ctrl、Alt の押されたキーに対応するビットがオンになります。
Shift vbShiftMask 1
Ctrl vbCtrlMask 2
Alt vbAltMask 4

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

【イベントの発生順→】
    
テキストの編集 KeyDown KeyPress Change KeyUp
移動キーを叩いた KeyDown Click KeyUp  

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

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

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

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

【イベントの発生順→】
    
改行キーを叩いた KeyDown KeyPress KeyUp  
テキストの編集 KeyDown KeyPress Change KeyUp

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

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

【書式例】Private Sub Combo1_LostFocus()

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

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

【機能】ドロップダウンリストの部分に表示されるスクロールバーが操作されたときに発生します。

【書式例】Private Sub Combo1_Scroll()

【イベントの発生順→】
    
マウスでスクロール(クリック) Scroll      
移動キーでスクロール KeyDown Click Scroll KeyUp

●Validate イベント

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

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

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

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

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

目次へ戻ります