要自動(dòng)轉(zhuǎn)換大小寫,很多人首先想到的一定是 UCase$ 及 LCase$,但是要使用這二個(gè)函數(shù),一定不可以在 Key_Press 事件中使用,否則您若輸入《ABC》,結(jié)果卻變成《cba》,為什么呢?
因?yàn)楫?dāng)您輸入 A 之后,LCase$ 會(huì)替您轉(zhuǎn)換成 a,但是轉(zhuǎn)換完后,滑鼠的游標(biāo)會(huì)停在 a 的前面,您繼續(xù)輸入 B,變成了 Ba,LCase$ 又替您轉(zhuǎn)換成 ba,轉(zhuǎn)換完后,滑鼠的游標(biāo)又停在 ba 的前面,您繼續(xù)輸入 C,變成了 Cba,LCase$ 又替您轉(zhuǎn)換成 cba! 若您不相信,可以自己試試
在 Key_Press 中正確的作法,是判斷它的參數(shù) KeyAscii !a 的 Asc 值是 97,A 的 Asc 值是 65,所以要自動(dòng)將大寫轉(zhuǎn)成小寫,寫法如下:
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 65 And KeyAscii <= 90 Then
KeyAscii = KeyAscii + 32
End If
因?yàn)楫?dāng)您輸入 A 之后,LCase$ 會(huì)替您轉(zhuǎn)換成 a,但是轉(zhuǎn)換完后,滑鼠的游標(biāo)會(huì)停在 a 的前面,您繼續(xù)輸入 B,變成了 Ba,LCase$ 又替您轉(zhuǎn)換成 ba,轉(zhuǎn)換完后,滑鼠的游標(biāo)又停在 ba 的前面,您繼續(xù)輸入 C,變成了 Cba,LCase$ 又替您轉(zhuǎn)換成 cba! 若您不相信,可以自己試試
在 Key_Press 中正確的作法,是判斷它的參數(shù) KeyAscii !a 的 Asc 值是 97,A 的 Asc 值是 65,所以要自動(dòng)將大寫轉(zhuǎn)成小寫,寫法如下:
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii >= 65 And KeyAscii <= 90 Then
KeyAscii = KeyAscii + 32
End If