textbox使用技巧
在使用visual basic开发应用程序时,textbox控件是最常用的(特别
对于数据库程序),以下是笔者在开发应用程序时的一些技巧,希望对爱好
vb的朋友有帮助。
1、 限制textbox只能输入数字。
我们只需要判断keyascii是否在48-57之间就可以达到目的,但我们还会
要用到退格键的,所以必须加上keyascii <> 8。
private sub text1_keypress(keyascii as integer)
if keyascii <> 8 and keyascii < 48 or keyascii > 57 then
beep
keyascii = 0
end if
end sub
2、自动将输入的英文转为小写/大写。
如果在keypress事件里使用ucase$和lcase$,那么当你输入abc时,text
box里的结果会是cba(具体原因这里不多说),我们只好判断它的keyascii,
刚好大写与小写之间是相差32,所以……看下面的程序。
'大写转小写
private sub text1_keypress(keyascii as integer)
if keyascii >= 65 and keyascii <= 90 then
keyascii = keyascii + 32
end if
end sub
'小写转大写
private sub text2_keypress(keyascii as integer)
if keyascii >= 97 and keyascii <= 122 then
keyascii = keyascii - 32
end if
end sub
3、使两个textbox同步的方法。
这种方法怎么解释呢?第二个等于第一个就行了:-)。
private sub text1_keypress(keyascii as integer)
text2=text1
end sub
4、按下 enter 键之后,光标自动移到下一个控件。
当keyascii为13(回车)时,send一个tab键给它就行了。
private sub text1_keypress (keyascii as integer)
if keyascii = 13 then
sendkeys “{tab}”
keyascii = 0
end if
end sub
5、当光标移到textbox时自动选定其中的整串文字。
当对象得到焦点时,从最前面开始选取(selstart=0),选取的
长度为文本长度(len(text1))。
private sub text1_gotfocus()
text1.selstart = 0
text1.sellength = len(text1)
end sub
6、当光标移到textbox时改变其文字颜色。
当textbox得到焦点时(gotfocus)改变文本颜色,失去焦点时(
lostfocus)将还原文本颜色,forecolor是设置文本的前景色。
'当光标移到textbox时文字设置为红色
private sub text1_gotfocus()
text1.forecolor = vbred
end sub
'当光标移出textbox时文字设置为黑色
private sub text1_lostfocus()
text1.forecolor = vbblack
end sub
以上代码只要将text1.forecolor改为text1.backcolor即可改变textbox
的背景色。