sub cmd2_click()
    call form1.cmd1_click
end sub

解决方案 »

  1.   

    如果定义form1中的cmd1是private的话是不行的。
    默认的话是private,如果我的程序中有很多窗口的话,又按照这样的方法做的话,就会有N个PUBLIC SUB,是不是?
      

  2.   

    对把该事件设为public
    如:
    form1中:
    public Sub Command1_Click()
    ...
    end sub在form2中要调用这个过程,只要:
    form1.Command1_Click就搞定拉
      

  3.   

    如果你先声起form1,然后是form2,就有办法:在form1中声明一个form2
    dim withEvents testform2 as form2在show form2时加上set testform2=new form2
    testform2.show然后在form2中声明Public Events FormClick在from2按钮的Click中写上
     RaiseEvent FormClick在form1的testform2_formClick中写上
       call cmd_click
      

  4.   

    那你把form1里面的cmd1的click里的内容写成一个公共的函数不就行了吗,何必这么执着呢
      

  5.   

    把Form1中的cmd1的代码改成
    public sub cmd1_click()
    ... ...
    end sub
    在Form2中的cmd2的代码中加入
    private sub cmd2_click()
    call form1.cmd1_click
    end sub
    就可以啦
    别忘了加Call
    和全局声明form1中的cmd1的单击事件Public
      

  6.   

    这个没办法,你要在外部使用这个按钮事件,那么你就得把它暴露出来,否则外面怎么使用啊
    不是用public,就是用Friend,Friend能保证你的这个过程不被外面的工程使用,如果,你的这个工程实现了一定的接口,可供外部程序调用的。但你又不想让外部程序使用而在你内部工程中又是通用的话,那么你可以使用Friend
      

  7.   

    dim frm as new form1的方法!
      

  8.   

    就是要改成Public的,然后在Call Formname!Events
      

  9.   

    严重同意kofer999(月舞影) 的观点,
    不应该直接调用另一个窗体里的控件的事件处理函数,你应该把事件处理函数的主要功能代码写在另外的一个函数里,因为有时候你会在不同的地方使用该功能,这时你就可以调用该函数,而不必直接调用控检的事件处理函数,而且控检的事件除里函数中还可以有少量自己的专用代码(不包含在那个函数之中)
      

  10.   

    在bas 中设置相应过程,调用即可。
      

  11.   

    同意kofer999(月舞影)
    不要把程序弄得乱七八糟。楼主的做法就像是使用goto一样
      

  12.   

    我明白了。我以为能用什么办法呼叫其它窗体内控件的事件。
    说实话有点失望,想的PUBLIC方法我也想到,我就是不想用。
    我的情况是这样的。
    一个MID窗口,和几个MID子窗口。
    MID中会使用菜单。
    MID子窗口我想用右键弹出菜单。
    这样我在MID子窗口中加菜单,然后右键就可以看见,但是这样带来的问题是,当我打开MID子窗口时,我MID主窗口的菜单就不见了。
    于是我只是在MID主窗口中加菜单,但是出现的问题,就是要呼叫MID子窗口的事件!