Excel实例下载
  VBA  应用教程
    数据库SQL知识
设为首页
TextBox使用技巧
作者:skydg | 来源:office精英论坛 | 时间:2006-04-05 | 阅读权限:游客 | 会员币:0 | 【
在使用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
的背景色。

补充一点:
在使用textbox的时候,我喜欢把它的lock属性设为true,所有textbox里显示的内容都是在程序里控制设定的,这样的好处是利于控制,而且应用到password上,只要判断输入字符的多少,让文本框按数量显示星号,真正的输入仍然存在变量里,就比用textbox.passwordchar要好
文章录入:admin | 浏览次数:
上篇文章:运算符的类型及优先级
下篇文章:判断语句
相关评论(以下网友评论只代表其个人观点,不代表Excel吧的观点或立场)
相关信息

关于本站 | 留言本站 | 友情连接 | 后台管理
Copyright © 2005 - 2008 Excel吧 Inc. All Rights Reserved.
HxCms Ver9.0  闽ICP备06001689号
关闭此窗口