如何为所有窗体的文本框定义多个公共事件?
时 间: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对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)