Private Sub C1_Click()
a = Val(T1.Text)
b = Val(T2.Text)
If a > b Then
L1.Caption = a & "+" & b & "=" & a + b
Else
L1.Caption = a & "-" & b & "=" & a - b
End If
End SubPrivate Sub T1_LostFocus()
If Not IsNumeric(T1.Text) Then
a = MsgBox("是否重新输入", vbYesNo + vbQuestion, "看看")
If a = 6 Then
T1.Text = ""
T1.SetFocus
Else
End
End If
End If
End Sub
Private Sub T2_LostFocus()
If Not IsNumeric(T2.Text) Then
a = MsgBox("是否重新输入", vbYesNo + vbQuestion, "看看")
If a = 6 Then
T2.Text = ""
T2.SetFocus
Else
End
End If
End If
End Sub为什么T1.setfocus用不到?
a = Val(T1.Text)
b = Val(T2.Text)
If a > b Then
L1.Caption = a & "+" & b & "=" & a + b
Else
L1.Caption = a & "-" & b & "=" & a - b
End If
End SubPrivate Sub T1_LostFocus()
If Not IsNumeric(T1.Text) Then
a = MsgBox("是否重新输入", vbYesNo + vbQuestion, "看看")
If a = 6 Then
T1.Text = ""
T1.SetFocus
Else
End
End If
End If
End Sub
Private Sub T2_LostFocus()
If Not IsNumeric(T2.Text) Then
a = MsgBox("是否重新输入", vbYesNo + vbQuestion, "看看")
If a = 6 Then
T2.Text = ""
T2.SetFocus
Else
End
End If
End If
End Sub为什么T1.setfocus用不到?
在t1.setfocus,和t2.setfocus之后,添加一句:exit sub ,你要的功能就实现了。
大道理讲不清楚,简单地说。我认为,你在失去焦点事件里,设定得到焦点然后继续执行失去焦点事件里的语句,本身就是一种类似死循环,或者说逻辑就是乱的
If Not IsNumeric(T1.Text) Then
a = MsgBox("ÊÇ·ñÖØÐÂÊäÈë a", vbYesNo + vbQuestion, "¿´¿´")
If a = 6 Then
T1.Text = ""
Cancel = True
Else
End
End If
End If
End Sub
Private Sub T2_Validate(Cancel As Boolean)
If Not IsNumeric(T2.Text) Then
a = MsgBox("ÊÇ·ñÖØÐÂÊäÈë b", vbYesNo + vbQuestion, "¿´¿´")
If a = 6 Then
T2.Text = ""
Cancel = True
Else
End
End If
End If
End Sub