我可以从所有者那里获取数据,但不是相反。 如何将表单中的数据传递给我的所有者。 ?
我真的不能用
Dim ownerFrm As New ownerFrm()
如果我这样做,这个表单将不会加载数据库连接和更多的东西,所以我宁愿避免搞乱它。 必须有一个非常简单的解决方案。但我无法想出来。
答案 0 :(得分:2)
所有者表单需要向子表单提供自己的引用。有多种方法可以做到这一点。例如,当所有者表单显示子表单时,它可以执行以下操作:
frmChild = New ChildForm()
frmChild.Parent = Me
frmChild.Show()
或者,您可以重载子表单的构造函数而不是属性:
frmChild = New ChildForm(Me)
frmChild.Show()
或者,您可以创建一个显示子表单的方法,并将父表单作为参数:
frmChild = New ChildForm()
frmChild.ShowChild(Me)
在所有这些情况下,子表单必须有一个变量,该变量保留对父表单的引用,以便它可以回调它。
另一种选择是在子表单上添加事件。当子表单需要将数据发送到所有者表单时,它可能会引发包含数据的事件,而所有者表单将处理该事件并以此方式获取数据。
答案 1 :(得分:0)
您应该使用事件(请参阅WithEvents)。