vb选择题一道,谢谢各位

来源:百度知道 编辑:UC知道 时间:2024/06/15 17:16:40
在窗体画一个命令按钮和两个文本框,其名称分别为Command1,Text1和Text2,然后编写如下程序:
Dim S1 As String, S2 As String
Private Sub Form_Load()
Text1.Text = ""
Text2.Text =""
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
S2 = S2 & Chr(KeyCode)
End Sub
Private Sub Text1_KeyPress(KeyAsciil As Integer)
S1 = S1 & Chr(KeyAscii)
End Sub
Private Sub Command1_Click()
Text1.Text = S2
Text2.Text = S1
S1 = ""
S2 =""
End Sub
程序运行后,在Text1输入"abc",然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为
A)abc和ABC B)abc和abc C)ABC和abc D)ABC和ABC
选C,
请问通过什么来判断大小写?thx

KeyDown事件接收的总是大写字母,而KeyPress事件既接收大写,也接收小写,因此你一开始输入的是小写,所以S1为小写,而S2总是大写。

你的程序本身就有问题keypress传递的不是KeyAsciil ,而是keyAscii

keydown和keypress传递的参数不一样,前一个是KeyCode、后一个是KeyAscii

KeyPress 将每个字符的大、小写形式作为不同的键代码解释。而 KeyDown 用两种参数解释每个字符的大写形式和小写形式:keycode — 显示物理的键(将 A 和 a 作为同一个键返回)和 shift —指示 shift + key 键的状态而且返回 A 或 a 其中之一。

65-90是大写字母的ASC码值 97-122是小写