【转载出处注明:http://tieba.baidu.com/p/3677706825】
在使用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
的背景色。