我想在combo的下拉列表框中选择一项数据或直接输入数据时,系统能实时检测所输入的数据。我用了其中的change事件,发现只有键盘直接输入数据时才起作用,而在下拉列表框中选择一项数据不会执行change事件。再用Validate事件,则只有当我点击窗口中其它控件时,才会执行Validate事件,该怎么解决

解决方案 »

  1.   

    需要说明的是我是要对combo.text值进行检测,而不是对输入的一个字符检测,所以不用KeyPress事件
      

  2.   

    click勉强可用 就是感觉不舒服
      

  3.   

    Private Sub Form_Load()
    Dim i As Integer
    For i = 0 To 20
    Combo1.AddItem i
    Next
    End SubPrivate Sub Timer1_Timer()
    Label1.Caption = Combo1.Text
    End Sub
      

  4.   

    晕 为什么要用timer呢?
    如果用timer和keypress就没什么区别了
    用change+click完全可以解决问题了'change用于键盘输入
    Private Sub Combo1_Change()
    Caption = Combo1.Text
    End Sub
    'click用于Dropdown选取
    Private Sub Combo1_Click()
    Caption = Combo1.Text
    End Sub
    Private Sub Form_Load()
    For i = 1 To 10
        Combo1.AddItem i
    Next
    End Sub
      

  5.   

    LZ说的“在下拉列表框中选择一项数据不会执行change事件”中的CHANGE事件到底是执行什么动作?用CLICK也可以刷新COMBO的值呀