第1章 控 件
常量 控件
acBoundObjectFrame 绑定对象框
acCheckBox 复选框
acComboBox 组合框
acCommandButton 命令按钮
acCustomControl ActiveX(自定义)控件
acImage 图像
acLabel 标签
acLine 线条
acListBox 列表框
acObjectFrame 未绑定对象框或图表
acOptionButton 选项按钮
acOptionGroup 选项组
acPage 页
acPageBreak 分页符
acRectangle 矩形
acSubform 子窗体/子报表
acTabCtl 选项卡
acTextBox 文本框
acToggleButton 切换按钮
在VB中对窗体控件的引用
键入包含控件的窗体或报表的标识符,后面紧接 ! 运算符和控件的名称。例如,下列标识符将引用“订单”窗体上“订单ID”控件值:
Forms![订单]![订单ID]
引用子窗体或子报表上的控件,不必使用“窗体”或“报表”属性为窗体或报表指定完整的标识符。例如,可以使用下列标识符来引用“订单”子窗体上的“数量”控件:
Forms![订单]![订单子窗体]![数量]
判断窗体或报表中控件的数目,然后将该数目赋给一个变量。
Dim intFormControls As Integer
Dim intReportControls As Integer
intFormControls = Forms!Employees.Count
intReportControls = Reports!FreightCharges.Count
设置控件可见性
Dim i, ii As Integer
For ii = 3 To 10
Me.Controls.Item(ii).Visible = True
Next
For i = 11 To 22
Me.Controls.Item(i).Visible = False
Next
按特殊名在VBA中设置控件的可见性:
For i = 27 To 47
If Me.Controls.Item(i).Name Like "A*" Then
Me.Controls.Item(i).Visible = False
End If
Next
指定一个控件能否接受焦点
Enabled属性:
me.控件.Enabled = true'能
=false'不能
指定一个控件能否被编辑:
locked
如:
me.控件.Locked = true
me.控件.Locked = false
设置控件标题显示的文字
Me.控件.Caption = "显示窗体"
设置标签颜:
Me.LabelColor =200
获得焦点及失去焦点时字段变更颜。
如果你的控件是文本框,名称为“txt字段”,写如下代码:
Private Sub txt字段_GotFocus()
Me.txt字段.BackColor = 12632256
End Sub
当中“12632256”textbox控件边框设置是灰,你可以自己选择希望的颜,如果想在失去焦点时改为原来的颜,写如下代码:
Private Sub txt字段_LostFocus()
Me.txt字段.BackColor = 16777215
End Sub
使标签闪烁以引人注意
设置窗体的TimerInterval 值为1000 (1秒).
forms OnTimer 加入代码:
Sub Form_Timer()
YourTextLabel.Visible = Not YourTextLabel.Visible
End_Sub
设置标签字体颜:
Me.Label1.ForeColor =
设置文本框颜:
Me.TextColor = 300
设置文本框字体颜:
Me.TextFontColor = 500
标签等左边距离:
Me.Label2.Left = 2200
定位控件
Me.控件.Top = 8290
Me. 控件.Left = 100
标签等字体粗细:
Me.Label2.FontWeight = 20000
控件边框颜:
Me.Label2.BorderColor = 0
控件边框线条
BorderStyle 属性使用以下设置:
透明 0 (仅对于标签、图表和子报表而言是默认值)透明的
实线 1 (默认值)实线
虚线 2 虚线
短虚线 3 短虚线
点线 4 点线
稀疏点线 5 点距较宽的点线
点划线 6 虚线与点线组合的点划线
点点划线 7 虚线-点线-点线组合的点点划线
双实线 8 双实线
指定控件的边框宽度
使用 BorderWidth 属性可以指定控件的边框宽度
取值:0或1-6
指定控件是否透明
使BackStyle 属性可以指定控件是否透明。
True 、False
解除子窗体锁定
Me.进_子窗体.Locked = False '解除子窗体锁定
将窗体上所有控件的输入法关掉!
来源:不祥
Private Sub Form_Open(Cancel As Integer)
Dim ctl As Access.Control
For Each ctl In Me.Controls
Debug.Print ctl.Name & ctl.ControlType
If ctl.ControlType = acTextBox Then
ctl.IMEMode = 2
End If
Next
End Sub
上述代码控制文本框,你还可以控制其他的,只要copy进窗体就可以了
列表框的值的引用
如果是单选的列表框,用 me.[列表框名] 来引用;如果要引用不是结合型列的值,可以用 me.[列表框名].column(n) (第一列n=0,第二列n=1…)
引用多列组合框或列表框中特定的列或列与行的组合
用 0 引用第一列,用 1 引用第二列,依此类推。用 0 引用第一行,用 1 引用第二行,依此类推。例如在含有一列客户 ID 和一列客户名称的列表框中,可以使用如下方式引用第二列、第五行的客户名称:
Forms!Contacts!Customers.Column(1, 4)
可以使用 Column 属性将组合框或列表框的内容指定给另一控件,如文本框。例如,若要将文本框的 ControlSource 属性设为列表框第二列中的值,可以使用以下表达式:
=Forms!Customers!CompanyName.Column(1)
如果引用了组合框或列表框中的列,但用户未做选择,则 Column 属性设置将为 Null。可以使用 IsNull 函数来确定是否进行了选择,示例如下:
If IsNull(Forms!Customers!Country)
Then MsgBox "No selection."
End If
显示获得焦点的控件的 Name:
ctl As Control
Set ctl = Screen.ActiveControl
MsgBox ctl.Name
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论