一道复杂的VB题目。。。跪求解析。。。

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:34:38
写出往文本框顺序键入”H4E3”后,显示在窗体上的内容。
Private Sub Text1_Change()
Print Text1.Text
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then
Print Chr(KeyAscii) + Text1.Text
End If
End Sub

答案:
H
4H
H4
H4E
3H4E
H4E3

天啊。。答案怎么这么多行。。。简直昏头转向。。
我想问为什么答案会是这样啊!!

先分开解释一下:
Private Sub Text1_Change()
Print Text1.Text
End Sub
文本改变就触发一次:
文本框输入H时候,输出 H
再输入4时候,输出 H4
再输入E时候,输出 H4E
再输入3时候,输出 H4E3

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then
Print Chr(KeyAscii) + Text1.Text
End If
End Sub

按键事件:
文本框输入H时候,不满足条件,无输出
再输入4时候,输出 4H
再输入E时候,不满足条件,无输出
再输入3时候,输出 3H4E
在综合一下:
Text1_KeyPress事件在Text1_Change事件之前触发,所以结果如下

无输出
H
4H
H4
无输出
H4E
3H4E
H4E3

不明白你想问什么。

上楼分析的有道理!

每次输出前都清屏,cls一下,每次按键将按键信息保存到一个字符串变量中去,形如: strInput=strInput & KeyAscii,然后在打印这个字符串