2016-07-15 110 views
0

在处理vb6项目时,我发现我无法使用form_load()执行子(包含在外部模块中)。下面是代码看起来像:Form_Load()不允许执行子VB6

Private Sub Form_Load() 

ExampleSubroutine 

End Sub 

当时,我绕过这个问题通过使用form_activate()而启动的形式:

Private Sub form_activate() 

ExampleSubroutine 

End Sub 

然而,这意味着只要程序切换到不同的形式并返回到主窗体,子窗体再次运行。我不想要这个。有没有办法使用form_load()执行子?谢谢。

+0

什么是'ExampleModule',它有什么作用? – helrich

+0

不确定你在这里模块的含义。通常你会在一个模块内调用一个Sub或Function,那么'ExampleModule'是什么? – topshot

+0

不要回想起从Form_Load运行Sub的问题。这个小组是什么? – topshot

回答

2

这可能是因为PictureBox尚未完全加载。使用Activate事件的一种方法是使用静态布尔值,然后在第一次点击时进行设置。

Private Sub Form_Activate() 

Static BeenHere as Boolean 

If Not BeenHere Then 
    ExampleSub 
    BeenHere = True 
End If 

End Sub 
+0

感谢您的帮助。这个解决方案很好地工作。 – JaskiratBoparai