-1

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

我真的不能不使用

       Dim ownerFrm As New ownerFrm()

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

4

2 回答 2

2

所有者表单需要将自身引用到子表单。有多种方法可以做到这一点。例如,当所有者表单显示子表单时,它可以执行以下操作:

frmChild = New ChildForm()
frmChild.Parent = Me
frmChild.Show()

或者,您可以重载子表单的构造函数,而不是属性:

frmChild = New ChildForm(Me)
frmChild.Show()

或者,您可以创建一个显示子表单并将父表单作为参数的方法:

frmChild = New ChildForm()
frmChild.ShowChild(Me)

在所有这些情况下,子表单都必须有一个变量来保持对父表单的引用,以便它可以对其进行回调。

另一种选择是在子表单上添加事件。当子窗体需要向所有者窗体发送数据时,它可以引发包含数据的事件,所有者窗体将处理该事件并以这种方式获取数据。

于 2012-09-13T12:41:39.100 回答
0

您应该使用事件(参见WithEvents)。

于 2012-09-13T12:39:52.830 回答