自己用VB做的控件里面包括了一个弹出窗体form,但在form里如何访问控件本身的方法呢?

cooler 2006-10-18 04:56:19
如题。
我用VB做了一个控件,假设控件名字叫做:MyOcx,准备IE里面嵌入使用。
假设控件里面有一个command1按钮。控件里面有个按钮,点击后会弹出一个form。
并有如下方法:
public sub tt1()
msgbox "1111"
end sub

private sub command_click()
form1.show
end sub


问题是,在这个form里面,如何访问这个控件的tt1()方法呢?
------------------------------------------
我尝试直接调用MyOcx.tt1,会报错。
目前我使用的变通方法是:
1、在一个moudle里面,定义一个全局的object变量
public gobjControl as object
2、在控件的初始化事件里面,登记全局变量
Private Sub UserControl_Initialize()
On Error Resume Next
Set gobjControl = Me
End Sub
3、在form里面调用
gobjControl.tt1
问题解决。
-------------------------------------------
最后,问题有两个:
1、各位大侠是否也是我这种处理方案啊?
2、我这种方案,如果两个IE窗口分别调用这个控件,这种全局变量,是否会造成两个IE控件里面变量相互干扰,也就是线程不安全啊?
请指教。谢谢。
...全文
119 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooler 2006-10-18
  • 打赏
  • 举报
回复
呵呵,两位手好块。我那边回复完,这边你们就跟帖了
csdnzl 2006-10-18
  • 打赏
  • 举报
回复
楼上没明白楼主的意思
ZOU_SEAFARER 2006-10-18
  • 打赏
  • 举报
回复
假如写在form2里面
private sub command_click()
form1.show
end sub


在form1里面调用form2 tt()

private sub cmd_click()
call form2.MyOcx.tt
end sub

864

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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