昨天 cangwu_lee(小橙子) 给了我这个小例子
 
   
'Form1.frm
'A form , a CommandButton name Command1
Option Explicit
Dim WithEvents cls As Class1Private Sub cls_MyHelloFunc(name As String)
  MsgBox "now, name=" & name
  name = "I am Simon!"
End SubPrivate Sub Command1_Click()
  cls.test ""
End SubPrivate Sub Form_Load()
  Set cls = New Class1
  
End Sub'Class1.clsOption ExplicitPublic Event MyHelloFunc(name As String)Public Sub test(ByVal condiction As String)
  Dim name As String
  name = "Hello"
  RaiseEvent MyHelloFunc(name)
  
  MsgBox "last name=" & name
End Sub我想请问如果不是class 而是usercontrol 该如何使用相当于 cls.test "" 的地方找不到这个方法 能调用的只有事件 而不是方法控件放上去不就已经是实例了么?  
  
 

解决方案 »

  1.   

    控件放上去就已经是实例了,但是自定义事件,需要一个函数去raiseevent出这个事件,如果是个可视控件,你可以在
    Private Sub UserControl_Paint()
    RaiseEvent 事件名
    End Sub
    抛出事件
      

  2.   

    没太明白LZ的意思,Usercontrol也是一个类啊,一样的。
      

  3.   

    我不要事件 我想调用函数 例子里面的test(ByVal condiction As String)是函数啊to 楼上 class 要声明然后new一个实例 usercontrol不行啊