如题

解决方案 »

  1.   

    sub form_load()
      cmd_click
    end sub
      

  2.   

    上边的程序为form1的form_load事件。
      

  3.   

    楼上的
    貌似应该是在form的active事件里面写吧
    sub form_active() 
      cmd_click 
    end sub
      

  4.   

    active事件是发生在load事件以后的
    这样能保证所有的控件的所有属性方法都能正常调用比如:如果cmd的click事件里面有给某个textbox设置焦点(setfocus)的话
    在form的load事件里面写就会报错,而在active事件里面写就是OK的
      

  5.   

    1、一般而言,写在form_load事件中是实际简单可行的方法。
    2、当然如果有楼上说的那种情况,当然不能这么简单地写在
    form_load中。但是如果写在active事件中,
    但是每次form获得焦点时都会执行active事件一次,
    这好像并非楼主的原意,所以还需要加上一个标志变量,
    并进行相应的判断,比如private blnFlag as booleansub form_active()
    if not blnFlag then
      cmd_click
      blnFlag=True
    end if
    end sub3、其实还有简单的办法,就是将
    private sub cmd_click()
    改为
    public sub cmd_click()
    然后,在调用form1的地方写上
    form1.show
    form1.cmd_click
    即可。4、如果不愿意改动cmd_click的private访问性,
    亦可在form1中写一个
    public sub foo()
      cmd_click
    end sub
    然后,在调用form1的地方写上
    form1.show
    form1.foo
    即可。
      

  6.   

    1、一般而言,写在form_load事件中是实际简单可行的方法。 
    2、当然如果有楼上说的那种情况,当然不能这么简单地写在 
    form_load中。但是如果写在active事件中, 
    但是每次form获得焦点时都会执行active事件一次, 
    这好像并非楼主的原意,所以还需要加上一个标志变量, 
    并进行相应的判断,比如 private blnFlag as boolean sub form_active() 
    if not blnFlag then 
      cmd_click 
      blnFlag=True 
    end if 
    end sub sub form_load()
      blnFlag=False
    end sub3、其实还有简单的办法,就是将 
    private sub cmd_click() 
    改为 
    public sub cmd_click() 
    然后,在调用form1的地方写上 
    form1.show 
    form1.cmd_click 
    即可。 4、如果不愿意改动cmd_click的private访问性, 
    亦可在form1中写一个 
    public sub foo() 
      cmd_click 
    end sub 
    然后,在调用form1的地方写上 
    form1.show 
    form1.foo 
    即可。 
      

  7.   

    窗体的LOAD时间去激活就可以了。
      

  8.   

    貌似每次formshow的时候active事件只触发一次吧
    如何让这个form处于活动状态时再次触发acitve事件?
    我印象中我在该事件中写代码时,没进行过什么判断,也没重复执行过
      

  9.   

    active事件在窗体获得焦点就会激活
      

  10.   

    窗体打开,重新显示,失去焦点后重新获得都会激活active事件。因此,一般情况下还是应该在load事件中调用其他初始化事件,如果被调用事件中要使用某个属性值,可以在调用前首先初始化