从这篇开始,我们将依次来详解用户窗体中的各个控件的常用属性以及事件。今天先从最常用的文本框开始。 顾名思义,文本框就是用来输入文本的。 我们新建一个窗体,拖进来一个文本框,然后按F4,就可以看到他常用的属性了。 当然,如果要全面了解文本框,就直接在VBE界面,按F2,调出对象查看器,然后在输入框里直接输入TextBox,就可以查看到TextBox对象所具有的所有属性,方法和事件了。 常用属性Enabled用来设置当前控件是否可用。这个属性对应的是布尔值,Enabled设置为True的话,就代表该控件可用,设置为False,就不可用,并且在运行窗体时,这个控件会显示为浅灰色。 MultiLine也是一个布尔值,指定文本框内是否可以换行。如果设置为True,就可以换行,如果设置为False,即使输入的文本中含有回车,所有的文本也会挤在一行。 EnterKeyBehavior指定按下回车键后,是在文本框内部换行,还是直接跳到下一个控件。 PasswordChar用来输入密码时使用的,如果这个属性有设置,那么无论你在文本框中输入什么内容,都会显示你设置的字符。 MaxLength文本框可以允许字符的最大长度。默认设为0,表示长度不限。 常用事件BeforeUpdate文本框中的文字被修改之前触发这个事件。可以用于判断所输入的文字是否合格。这个事件有一个Cancel参数,和其他事件中的Cancel一样,可以用来强制取消更新。 例如,下面一个例子就用来判断输入的文本是否最少有5个字符。这种套路相信大家在网上发帖时经常碰到。 Private Sub TxtWelcome_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TxtWelcome.Value) < 5 Then
MsgBox 'minimum 5 chars are required !'
Cancel = True
End If
End Sub AfterUpdate看这个事件的名字就知道,这是文本框中的内容修改之后触发这个事件。这个事件比较简单,就不写代码来举例了 Change当文本框中的内容发生了变化时,所触发的事件。 下面这个例子用来限制用户不能输入空格 Private Sub TxtWelcome_Change()
With Me.TxtWelcome
If InStr(1, .Value, ' ') Then
.Value = Replace(.Value, ' ', '')
MsgBox 'space not allowed!'
End If
End With
End Sub 其实上面这个例子里面有一个小漏洞,或者说一个要注意的问题,不知道大家看出来了没?看出来的请在文章末尾留言吧。 Enter/Exit在文本框接收到焦点之前,触发Enter事件。释放焦点之前,触发Exit事件。 在一个完整的向文本框输入内容的过程中,上面这些事件的触发顺序如下: Enter→ Change → BeforeUpdate → AfterUpdate → Exit 大家可以为每个事件都写一个Msgbox来验证一下。 总结一下
|
|
来自: L罗乐 > 《VBA基础入门教程》