从形式到所有者

时间:2012-09-13 12:31:32

标签: vb.net winforms

我可以从所有者那里获取数据,但不是相反。 如何将表单中的数据传递给我的所有者。 ?

我真的不能用

       Dim ownerFrm As New ownerFrm()

如果我这样做,这个表单将不会加载数据库连接和更多的东西,所以我宁愿避免搞乱它。 必须有一个非常简单的解决方案。但我无法想出来。

2 个答案:

答案 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)。