Option Explicit Private WithEvents adj As Class1 Public Sub test() adj.TimerTask (7) End Sub Private Sub Command1_Click() test End Sub Private Sub adj_ChangeText() MsgBox "" End Sub Private Sub Form_Load() Set adj = New Class1 End Sub把标准模块删除,窗体模块代码如上 withevents 定义后不能再用dim了,不然不能触发事件了
Withevents只能在窗体模块,类模块中定义 如果你非的用标准模块触发,在创建一个类,调用这个类来触发 新类可以这样写 Dim WithEvents adj As Class1 Sub tt() Set adj = New Class1 adj.TimerTask (7) End Sub Private Sub adj_ChangeText() MsgBox "" End Sub 标准模块 Public Sub test() Dim bb As Class2 Set bb = New Class2 bb.tt End Sub
Private Sub adj_ChangeText()
不能触发adj_ChangeText()事件
能弹出对话框显示“7”,却不能触发adj_ChangeText()事件
是不是有语法错误阿 ???
Private WithEvents adj As Class1
Public Sub test()
adj.TimerTask (7)
End Sub
Private Sub Command1_Click()
test
End Sub
Private Sub adj_ChangeText()
MsgBox ""
End Sub
Private Sub Form_Load()
Set adj = New Class1
End Sub把标准模块删除,窗体模块代码如上
withevents 定义后不能再用dim了,不然不能触发事件了
如果你非的用标准模块触发,在创建一个类,调用这个类来触发
新类可以这样写
Dim WithEvents adj As Class1
Sub tt()
Set adj = New Class1
adj.TimerTask (7)
End Sub
Private Sub adj_ChangeText()
MsgBox ""
End Sub
标准模块
Public Sub test()
Dim bb As Class2
Set bb = New Class2
bb.tt
End Sub