在子窗体之前打开主窗体时出错
Posted
技术标签:
【中文标题】在子窗体之前打开主窗体时出错【英文标题】:Error when opening the mainform before subform 【发布时间】:2012-03-06 14:40:24 【问题描述】:我想在子窗体之前打开主窗体(为什么?)
我的表单需要 6 秒来加载并向用户显示表单和子表单。我读到当首先加载主表单然后加载子表单和山雀数据时,打开时间可能会更好(小于 6秒)因此我尝试实现这个场景:
我在我的子窗体属性中删除了 Sourceobject 的值,并在主窗体中添加了这段代码:
Private Sub Form_Timer()
Me.TimerInterval = 0
Me!ufrm_bauteile.SourceObject = "ufrm_bauteile"
End Sub
我将 mainform 属性中的 Timerinterval 设置为 1.Logicaly 我认为它应该可以正常工作,但出现错误(错误号 2467):
您输入的表达式引用了一个已关闭或不存在的对象
如何解决这个问题?
【问题讨论】:
【参考方案1】:当您第一次打开表单时,以下事件按此顺序发生:
打开→加载→调整大小→激活→当前
我建议您不要设置计时器,而是在您的 Load 事件处理程序中加载子表单。
Private Sub Form_Load()
Me!ufrm_bauteile.SourceObject = "ufrm_bauteile"
End Sub
【讨论】:
+1 当然,On_Load 也比 On_Open 更好,因为它确保在尝试加载子表单之前先加载父表单。 (或者至少在绑定表单的情况下) 谢谢你们俩,我认为在我的主窗体中我有一些引用子窗体对象的对象,因此发生了该错误。如果我将此代码放在 Form_Load() 中,问题是否解决了?这个想法是否提高了性能?以上是关于在子窗体之前打开主窗体时出错的主要内容,如果未能解决你的问题,请参考以下文章