有多个窗体,每个窗体有不同的子过程,如何在模块中编写代码执行某窗体内的子过程!

chendjin 2004-03-29 05:10:10
有多个窗体如A,B,C,B窗体有CmdMove_Click(IndexAs Integer )事件或自定义子过程AddNew(),如何在模块中编写代码执行B窗体内的CmdMove_Click(IndexAs Integer )事件!原因在于模块中有捕捉某动态菜单的响应事件。不知我表述清楚没有,初学vb,分不多了,请多包涵。
...全文
45 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chendjin 2004-03-30
  • 打赏
  • 举报
回复
今天晚上结贴!
flyingscv 2004-03-30
  • 打赏
  • 举报
回复
,若A,B,C窗体中被调用的过程按private =>public修改,是否会
消耗更多内存资源。

不会
chendjin 2004-03-30
  • 打赏
  • 举报
回复
接上,若A,B,C窗体中被调用的过程按private =>public修改,是否会
消耗更多内存资源。
这种设计思路是否妥当!:
1、在模块中定义公用“对象”变量,如Public frmActive As Object
2、在A,B,C窗体Form_Load()中添加:Set frmActive = A
Form_Unload()中添加:Set frmActive = Nothing
3、在A,B,C窗体中定义公用过程Public Sub GetItemId(Index As Long)
处理各自的菜单响应事件
4、上面模块代码修改为、
Private Sub MenuItemSelected(ByVal itemID As Long)
frmActive.GetItemId( itemID)
End Sub
这样设计是否因减少private =>public修改而减少内存额外开销,还有更好的
思路吗?诚请大家指教。
chendjin 2004-03-29
  • 打赏
  • 举报
回复
楼上的,A,B,C窗体中都有动态菜单生成,而模块中动态菜单的
响应事件事件如下:
Private Sub MenuItemSelected(ByVal itemID As Long)
Select Case MyItem(itemID).itemName
Case "open"
Case "AddNew"
case ....
Case "exit"
End Select
End Sub
我想在此模块添加“窗体”对象作为虚参,怎么实现!
etcom007 2004-03-29
  • 打赏
  • 举报
回复
同意楼上的观点
wea1978 2004-03-29
  • 打赏
  • 举报
回复
'A窗体
'
call b.CmdMove_Click

'B窗体
PUBLIC Sub CmdMove_Click(IndexAs Integer )
MSGBOX "ASDFASDF"
END SUB
华芸智森 2004-03-29
  • 打赏
  • 举报
回复
同意楼上的.
将子窗体过程名改为PUBLIC.
PUBLIC Sub Form_Load()
MSGBOX "ASDFASDF"
END SUB
如:CALL FORM1_CLICK()
hhyttppd 2004-03-29
  • 打赏
  • 举报
回复
private =>public

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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