vb textbox 多次触发change事件

2024-12-04 20:45:15
推荐回答(1个)
回答1:

Dim flag As Boolean
Private Sub Form_Load()
    With Timer1
        .Enabled = False
        .Interval = 1000
    End With
End Sub

Private Sub Text1_Change()
    Cls
    If flag = True Then
        Print Text1.Text
        flag = False
    End If
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    Timer1.Enabled = False
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    Timer1.Enabled = False
    flag = True
    Text1_Change
End Sub

用timer来延迟操作change事件即可