简体   繁体   English

访问父级和子窗体打开顺序

[英]Access Parent and subform open sequence

I have customized ribbons for each parent form. 我为每个家长表格都定制了功能区。 I need to set subform ribbon to be same with parent form. 我需要将子窗体功能区设置为与父窗体相同。

I initiate ribbon on each forms and subforms on "Form_Load" routine. 我在“ Form_Load”例程的每个表单和子表单上启动功能区。 Parent form ribbon will be different for different user. 父表单功能区对于不同的用户将有所不同。 I cannot hard code it on form property. 我无法在form属性上对其进行硬编码。 On subform, I use Me.Parent.Form.RibbonName to get parent form ribbon name. 在子窗体上,我使用Me.Parent.Form.RibbonName获取父窗体功能区名称。

Me.Parent.Form.RibbonName is able to return parent form name. Me.Parent.Form.RibbonName能够返回父表单名称。 But, Subform "Form_Load" is trigged before parent form "Form_Load" is trigged. 但是,将触发父窗体“ Form_Load”之前先触发子窗体“ Form_Load”。 Me.Parent.Form.RibbonName will return null value. Me.Parent.Form.RibbonName将返回空值。

Will it possible to control the load sequence between parent form and subforms? 是否可以控制父窗体和子窗体之间的加载顺序? Parent form need to be loaded before any subforms are loaded. 在加载任何子表单之前,需要先加载父表单。

Thanks. 谢谢。

Yes you can. 是的你可以。 Set the Subforms holders control source to "" Then in the on load or at some other event of the parent form set the subform control to your subform. 将“子表单持有者”控件源设置为“”,然后在加载或父表单的其他事件中,将子表单控件设置为子表单。

 Me.subFormHolder.SourceObject = "subfrmYourSubformName"

The sequence is three-fold: 该序列分为三部分:

  1. Subform loads 子窗体载荷
  2. Main form loads 主要形式载荷
  3. Subrom loads Subrom负载

So have code in the subform that disables any code when opened initially. 因此,子窗体中的代码会在最初打开时禁用任何代码。 Set a flag. 设置一个标志。 When opened next time, run your code and/or sets your variables. 下次打开时,运行代码和/或设置变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM