Vb6 调用工具栏按钮从另一个窗体单击

Vb6 调用工具栏按钮从另一个窗体单击,vb6,Vb6,在VB6中,我需要知道如何调用另一个窗体上的按钮单击事件。另一个表单部分很简单,但如何传递单击事件以及“单击”工具栏上右侧按钮的正确方法才是真正的问题 这是主窗体上的通风口-我需要调用click事件案例“Copyfrom” 主要形式 Public Sub tbrMain_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case ToolBarItem.tbPrint '(some c

在VB6中,我需要知道如何调用另一个窗体上的按钮单击事件。另一个表单部分很简单,但如何传递单击事件以及“单击”工具栏上右侧按钮的正确方法才是真正的问题

这是主窗体上的通风口-我需要调用click事件案例“Copyfrom”

主要形式

Public Sub tbrMain_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index
  Case ToolBarItem.tbPrint

    '(some code)

  Case ToolBarItem.tbSave

    '(some code)

  Case ToolBarItem.tbCopyFrom

    '(some code)

   Case ToolBarItem.tbNEW

    '(etc)
我试过了

Mainform.tbrMain_ButtonClick() 

甚至尝试传递索引号和键-没有骰子

事件处理程序希望收到对实际工具栏按钮的引用,因此您必须传递工具栏按钮本身,而不是标题或键,例如:

    Form1.tbrMain_ButtonClick Form1.tbrMain.Buttons(1)
或者,使用
Call
语句:

    Call Form1.tbrMain_ButtonClick(Form1.tbrMain.Buttons(1))
如果在工具栏按钮上设置了
属性,则可以使用所需按钮的
属性来代替(1):


@JeffK已经解释了如何做到这一点,但通常最好不要调用事件处理程序,而是让所有事件处理程序为每个按钮/外部调用调用一个特定的方法。@Deanna:我同意。最好从From2引发一个事件,并在Form1中有一个处理程序来执行您想要的操作。但我不想把我的答案和所有额外的管道弄得一团糟。不幸的是,很少有vber真正了解如何创建和使用自己的特定于应用程序的事件。
    Form1.tbrMain_ButtonClick Form1.tbrMain.Buttons("PrintButton")