要自动转换大小写,很多人首先想到的一定是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->