TextBox使用技巧 作者: skydg 在使用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 “” 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 的背景色。 我补充一些: 在使用textbox的时候,我喜欢把它的lock属性设为true,所有textbox里显示的内容都是在程序里控制设定的,这样的好处是利于控制,而且应用到passWord上,只要判断输入字符的多少,让文本框按数量显示星号,真正的输入仍然存在变量里,就比用textbox.passwordchar要好 |
|