关于一个很有用的类模块的教程的问题

wen_eb 2008-07-31 12:08:30

我在网上看到一例非常有用的代码,原文如下……

窗体UserForm1上有5个CommandButton控件(名称分别为默认CommandButton 1- CommandButton 5)和1个TextBox控件(名称为TextBox1)。要求当各个CommandButton控件被点击时,它的按钮文字(Caption)会写入TextBox1。

如果不用类,我们需要为5个CommandButton控件分别写5个相同的Click事件代码。如:

Private Sub CommandButton 1_Click()
TextBox1 = CommandButton 1.Caption
End Sub

下面是用类的成员事件方法的代码:

‘类模块Cmds的代码
Option Explicit
Public WithEvents cmd As CommandButton
Private Sub cmd_Click()
UserForm1.TextBox1 = cmd.Caption
End Sub

‘窗体UserForm1的代码
Option Explicit
Dim co As New Collection
Private Sub UserForm_Initialize()
Dim i%
Dim myc As Cmds
For i = 1 To 5
Set myc = New Cmds
Set myc.cmd = Me.Controls("CommandButton" & i)
co.Add myc
Next i
Set myc = Nothing
End Sub

可我按照他所说得去做了,点任何按钮文字框中怎么都是commandbutton1啊?2,3,4,5号commandbutton呢?
...全文
102 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fvflove 2008-07-31
  • 打赏
  • 举报
回复
我试了一下.没有问题.能达到准备果.
前提是,你窗体中必须先存在5个按扭.
wen_eb 2008-07-31
  • 打赏
  • 举报
回复

自己解决了

2,503

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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