如果获得被点击控件的信息啊?

liulang0808 2008-03-06 11:03:13
假设由10个COMMAND 控件,其中一个被点击,如果返回信息知道是那个COMMAND控件被点击啊 ?
...全文
124 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulang0808 2008-03-07
  • 打赏
  • 举报
回复
感谢大家的解答.
可能是我的问题,没有说清楚.
不过自己已经解决了问题
z_wenqian 2008-03-07
  • 打赏
  • 举报
回复
在VBA里没有控件数组,所以每一个控件都有自己单独的事件,如CommandButton1、CommandButton2等有自己的事件
CommandButton1_Click和CommandButton2_Click,怎么能说都有相同的事件呢?既然有自己单独的事件,那就能在事件中赋一个单独的ID值,然后在公共函数中去判断,如:

Private Sub CommandButton1_Click()
Call Cmd_Proc(1)
End Sub

Private Sub CommandButton2_Click()
Call Cmd_Proc(2)
End Sub

Private Sub Cmd_Proc( cmdID as Integer)
Select Case cmdID
Case 1 : MsgBox "CommandButton1"
Case 2 : MsgBox "CommandButton2"
.
.
.
End Select
End Sub

这样不就区分开是那个控件了。
liulang0808 2008-03-06
  • 打赏
  • 举报
回复
LS的意思我清楚。目前情况是这样的:
我有81个COMMAND控件,当点击其中一个,都会触发同样的事件,但是需要知道被点击这个COMMAND控件的信息。比如。Caption属性,NAME等,根据这些属性调用相同的函数来处理一些跟这个COMMAND有关的数据。
嗷嗷叫的老马 2008-03-06
  • 打赏
  • 举报
回复
定义一个判断函数,参数为区别按钮的一个ID,自己定义ID的值.

判断函数内根据ID作不同的处理.

与控件数组差不多的思路吧.
嗷嗷叫的老马 2008-03-06
  • 打赏
  • 举报
回复
同上

单击事件里判断索引值
liulang0808 2008-03-06
  • 打赏
  • 举报
回复
不好意思啊,是在VBA里,控件数字不让用的。
用户 昵称 2008-03-06
  • 打赏
  • 举报
回复
控件弄成数组就可以了
嗷嗷叫的老马 2008-03-06
  • 打赏
  • 举报
回复
private function DoSomething(byval theID as string)
select case theid
case "Command1"
'处理
case "CommandX"
'处理.....
......
end select
end function

private sub Command1_Click()
call dosomething(command1.name)
end sub

........................

private sub Command81_Click()
call dosomething(command81.name)
end sub


没有明白你上面7楼那帖子是在提问,还是在干嘛....

又好象在自言自语,又好象是在与谁讨论?

无法理解...

反正我的思路,代码就是这样....等于是手工模拟了一下数组控件.
liulang0808 2008-03-06
  • 打赏
  • 举报
回复
我有81个COMMAND控件,当点击其中一个,都会触发同样的事件,但是需要知道被点击这个COMMAND控件的信息。比如。Caption属性,NAME等,根据这些属性调用相同的函数来处理一些跟这个COMMAND有关的数据。
舉杯邀明月 2008-03-06
  • 打赏
  • 举报
回复
VBA中是不支持控件数组,我觉得就是应该用4楼说的那种思路来做.

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧