如何为所有窗体的文本框定义多个公共事件?
时 间:2012-05-18 08:51:28
作 者:蒋灿辉 ID:24104 城市:上海
摘 要:需要为所有的窗体的所有的文本框的获得焦点事件定义2个以上的公共方法,但是我不想一个一个去定义,该如何操作?有没有一次性就可以全部定义的方法?
正 文:
需要为所有的窗体的所有的文本框的获得焦点事件定义2个以上的公共方法,但是我不想一个一个去定义,该如何操作?有没有一次性就可以全部定义的方法? |
方法有很多,最简单的就是直接用Controls循环得到窗体的所有控件并定义文本框的 OnGotFocus="过程名"。但是这样只能定义一个方法,而且传参比较麻烦,不能按地址传对象。
另一个方法就是用 WithEvents 来委托控件的事件,但是ACCESS的form和control比较特别,需要额外设定 On....="[Event Procedure]" 否则这个事件是不会被触发的。 |
基本操作方法如下:
1、写一个公共的类模块,类模块公共部分 public withevents t as treeview
类里面写 on....方法
2、在需要调用这个类的窗体的公共部分 dim c(11) as new clsComm
3、在这个窗体的 form_load 用controls列举出需要委托事件的控件,放入这个类,也就是
dim i as long
for each ctl in me.controls
i=i+1
set c(i).t = ctl
next
图片如下:
图片如下:
实际代码如下:
类模块 clsComm
Option Compare Database Public WithEvents t As Access.TextBox Public WithEvents t2 As Access.TextBox
Private Sub t2_GotFocus() |
窗体2
Option Compare Database Dim c(11) As clsComm
Private Sub Command0_Click() Private Function IsFormLoad(ByVal formName As String) As Boolean End Function Private Sub Command1_Click() Private Sub Command2_Click() |
Access2010 示例下载:

Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 通过命令按钮让Access列表...(04.24)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)

学习心得
最新文章
- 仓库管理实战课程(15)-月度库存...(04.30)
- Access选择打印机、横纵向、纸...(04.29)
- 仓库管理实战课程(14)-出库功能...(04.26)
- 通过命令按钮让Access列表框指...(04.24)
- 仓库管理实战课程(13)-入库功能...(04.21)
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)