我做了一个小程序,其中用到两个用户控件,us1和us2。us1上有一个按钮;us2上有一个文本框。然后把us1放到us2上,
在us1和us2中分别写了如下代码:
us1中:
Private Sub Command1_Click()
Call Us21.创建timer1
End Sub
us2中:
Dim WithEvents timer1 As Timer
Public Sub 创建timer1()
Set timer1 = Controls.Add("vb.timer", "timer1")
timer1.Interval = 100
timer1.Enabled = True
End Sub
Private Sub timer1_timer()
Static t%
t = t + 1
Text1 = t
End Sub
请教问题:以上代码在测试时,提示“Call Us21.创建timer1" 这一句未定义,于是我把此句改为”Call Form1.Us21.创建timer1“
这样就顺利通过。但是这样一来,输出ocx时就报错,因为输出ocx时把form1(form1.frm)移除了。生成ocx后,也许会用到form2.....form9窗体上呢,不移除测试窗体又不行。这可怎么办呀?!请天下高手不吝赐教!
3 个解决方案
#1
'us1
Option Explicit
Public Event CommandClick()
Private Sub Command1_Click()
RaiseEvent CommandClick
End Sub
'Form1
Option Explicit
Private Sub us11_CommandClick()
Call us21.创建timer1
End Sub
#2
感谢指教!但是老师:
我的程序是将us1嵌套到us2中,然后再把us2放进form1中测试,而不是把us1和us2同时放进form1。因此才产生了前述的问题。
请再帮助一下!!!
我的程序是将us1嵌套到us2中,然后再把us2放进form1中测试,而不是把us1和us2同时放进form1。因此才产生了前述的问题。
请再帮助一下!!!
#3
us2响应us1的 CommandClick() 事件调用自己的 创建timer1() 不是更容易了。
#1
'us1
Option Explicit
Public Event CommandClick()
Private Sub Command1_Click()
RaiseEvent CommandClick
End Sub
'Form1
Option Explicit
Private Sub us11_CommandClick()
Call us21.创建timer1
End Sub
#2
感谢指教!但是老师:
我的程序是将us1嵌套到us2中,然后再把us2放进form1中测试,而不是把us1和us2同时放进form1。因此才产生了前述的问题。
请再帮助一下!!!
我的程序是将us1嵌套到us2中,然后再把us2放进form1中测试,而不是把us1和us2同时放进form1。因此才产生了前述的问题。
请再帮助一下!!!
#3
us2响应us1的 CommandClick() 事件调用自己的 创建timer1() 不是更容易了。