要自動轉換大小寫,很多人首先想到的一定是UCase$及LCase$,但是要使用這二個函數,一定不可以在Key_PRess事件中使用,否則您若輸入《ABC》,結果卻變成《cba 》,為什麼呢?
因為當您輸入A之後,LCase$會替您轉換成a,但是轉換完後,鼠標的遊標會停在a的前面,您繼續輸入B,變成了Ba,LCase$又替您轉換成ba ,轉換完後,鼠標的遊標又停在ba的前面,您繼續輸入C,變成了Cba,LCase$又替您轉換成cba! 若您不相信,可以自己試試
在Key_Press中正確的作法,是判斷它的參數KeyAscii! a的Asc值是97,A的Asc值是65,所以要自動將大寫轉成小寫,寫法如下:
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii>=65AndKeyAscii<=90Then
KeyAscii=KeyAscii 32
EndIf->