怎么在模块中调用窗体的事件?

如何在模块中调用窗体的事件??????
本帖最后由 wanglong3713 于 2013-11-27 16:59:11 编辑
本人初学VB,在修改一个程序,算是现学现卖。
现在需要在模块中调用一个窗体中的commandbutton控件的click事件,而这些控件又是一个控件数组,应该怎么做?查了写资料都没解决。
谢谢!
------解决方案--------------------

'窗体代码
Public Sub Command1_Click(Index As Integer)
'INDEX=0时代表点击了订单管理按钮
Select Case Index
Case 0
FormA.Show '订单管理窗口
Case 1
FormB.Show '客户管理
Case 2
FormC.Show '商品管理
End Select
End Sub

Private Sub Form_Load()
'三个按钮:Command1(0),Command1(1),Command1(2)
'按钮上文字是:订单管理/客户管理/商品管理
End Sub


模块代码:
Sub TEST()
'模块中模拟调用第一个按钮点击
Call Form1.Command1_Click(0)
End Sub


'重点就是这个Public Sub Command1_Click,前面用PUBLIC就可以共享访问了然后,用INDEX代表不同按钮
------解决方案--------------------
如果要在模块中调用窗体的事件代码,就得把相应的事件代码从 Private 改成 Public 。

其实这样不是很好。
控件的事件代码,一般都是用Private的(当然改成Public也可以)。
还不如把这个“代码”写到一个 Public 过程中。
如果这个过程中的操作,跟窗体的成员(控件、其它对象、变量等)没什么关联,那把它写到模块中更好。
  如果相关性比较大,则可以写成窗体的  Public 过程。

------解决方案--------------------
Sub TEST()
'模块中模拟调用第一个按钮点击
Call Form1.Command1_Click(0)
End Sub

Sub TEST2()
'模块中模拟调用第一个按钮点击
Call Form1.Command1_Click(1)
End Sub