【发布时间】:2015-06-26 06:37:46
【问题描述】:
我有一个简单的表单,它在 vb.NET 应用程序中调用包含另一个表单的外部类。
这2个表单被设置为一个MDi父子。
有谁知道为什么当我在父代码中调用 MDIChild.show() 时,加载事件不会在子窗体中触发??
父代码:
Dim ce As New Policies.Main
ce.MdiParent = Me
ce.Show()
子代码
Public Sub Main_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load
'Do some stuff in load event
End Sub
【问题讨论】:
-
假设策略是您的表单名称,您是否简单地将 Dim ce 尝试为新策略(没有 .main),当然还确保策略具有适当的构造函数。
-
我需要调暗为 Policies.Main,因为这是 Policies 的类之一。 “正确的构造函数”是什么意思
-
Main 很可能是您想要使用的策略中的类之一,但除非您有实际的新策略实例,否则您将永远无法访问 main。
-
Main 正在加载并出现在容器中,所以我知道这部分运行正常。但是,它从不访问加载事件。所有其他功能都在工作。
-
我在这里搞糊涂了。policies 是您小时候尝试加载的表单的名称,还是 Main?您需要清楚哪个是您的父母和孩子。但是为了争论,它听起来好像你需要在你的父表单中这样的东西。 Dim ce as New child, ce.show(), 如果孩子在其代码中定义了加载事件,该事件应在显示时自动调用,但您必须先实例化孩子。
标签: vb.net winforms mdi mdichild mdiparent