Office中国论坛/Access中国论坛

标题: 请教!如何简化双击事件的代码?(已解决) [打印本页]

作者: sxgaobo    时间: 2009-6-13 10:50
标题: 请教!如何简化双击事件的代码?(已解决)
本帖最后由 sxgaobo 于 2009-6-15 10:05 编辑

窗体中有若干标签都需要写双击事件,
Private Sub Label0_DblClick(Cancel As Integer)
MsgBox "我是0号标签!"
End Sub
Private Sub Label1_DblClick(Cancel As Integer)
MsgBox "我是1号标签!"
End Sub
Private Sub Label2_DblClick(Cancel As Integer)
MsgBox "我是2号标签!"
End Sub
Private Sub Label3_DblClick(Cancel As Integer)
MsgBox "我是3号标签!"
End Sub
Private Sub Label4_DblClick(Cancel As Integer)
MsgBox "我是4号标签!"
End Sub
Private Sub Label5_DblClick(Cancel As Integer)
MsgBox "我是5号标签!"
End Sub
Private Sub Label6_DblClick(Cancel As Integer)
MsgBox "我是6号标签!"
End Sub
这是7个标签的双击事件,可否用循环指令或其它办法简化其啊!?
[attach]38397[/attach]
作者: koutx    时间: 2009-6-13 11:09
一、建一公用模块函数:
Function msgb(ByVal nam As String)
    MsgBox "我是" & Right(nam, 1) & "号标签!"
End Function
二、在Label双击事件中:
msgb(me.你的标签名.name)
作者: sxgaobo    时间: 2009-6-13 11:29
本帖最后由 sxgaobo 于 2009-6-13 11:32 编辑

我的意思是可不可以不用在每个标签里都写代码!
我想在窗体中放200多个标签
作者: koutx    时间: 2009-6-13 12:28
双击事件中如一句代码也没有,那就是说你双击它没任何响应的。
作者: ACMAIN_CHM    时间: 2009-6-13 15:01
在你的FORM LOAD中可以对所有的controls 的 OnClick 来赋值,设定事件响应代码过程。
作者: sxgaobo    时间: 2009-6-13 15:13
在你的FORM LOAD中可以对所有的controls 的 OnClick 来赋值,设定事件响应代码过程。
ACMAIN_CHM 发表于 2009-6-13 15:01

怎么做啊?
作者: 红尘如烟    时间: 2009-6-14 09:00
Private Sub Form_Load()
    Dim ctl As Control
    For Each ctl In Me
        If TypeOf ctl Is Label Then
            ctl.OnDblClick = "=LabelDblClick([" & ctl.Name & "])"
        End If
    Next
End Sub

Public Function LabelDblClick(Label As Label)
    MsgBox "我是" & Val(Mid(Label.Name, 6)) & "号标签!"
End Function
作者: sxgaobo    时间: 2009-6-14 11:03
本帖最后由 sxgaobo 于 2009-6-14 15:20 编辑

谢谢 红尘如烟!你真的是太帅了!
再麻烦您下,我用 Me.Controls("Label" & i).Tag = r("编号") 给标签附了值,怎么能再双击的时候调出来啊?
MsgBox Me.Label & Val(Mid(Label.Name, 6)).Tag
提示错误!!!
作者: sxgaobo    时间: 2009-6-15 08:52
等待......
作者: sxgaobo    时间: 2009-6-15 10:05
解决了!
MsgBox Me("Label" & Mid(Label.Name, 6)).Tag




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3