Private Sub s2_Change()
If Val(s2.Text) < 10 Then
s2.Text = "0" & s2.Text
End If
End Sub
当你S2中的字符串转成数据小于10时你处理方式是在s2的字符串加个“0”,这时s2.Text = "0" & s2.Text这条语句会再次激活Change事件,而此时S2中的字符串转成数据会仍然小于10,于是又加一个“0”,并再次激活Change事件…………一直到堆栈溢出。在溢出前由于你的程序一直在给S2字符串加“0”就导致你的程序不能退出。