VB.net在2个孩子mdi之间传递数据

时间:2013-06-14 08:40:15

标签: vb.net mdichild

有人能为我提供一个例子吗?

情景是:

 **FORM1** = MDIPARENT
FORM2 = CHILD
FORM3 = CHILD
MDIPARENT上的菜单打开了

FORM2 FORM2有一个文本框 - CompanyNameText 在此文本框旁边有一个按钮,可打开包含列表的FORM3

我想要实现的目标是让用户从FORM3中的列表中选择公司名称,并将其选择显示在FORM2's Companynametextbox

我试过了: -

FORM3:-  

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim formChild2 As AllocateCallBack = DirectCast(Me.MdiParent.MdiChildren(1), AllocateCallBack)
    formChild2.ReceiveValue(SelectTextBox.Text)
    End Sub

FORM2: -

Public Sub ReceiveValue(ByVal value As String)
    CompanyNameTextBox.Text = value.ToString
    Me.Activate()
    Me.Refresh()
    End Sub

但我收到消息Nullreferenceexception`未处理。

我已确认SelectTextBox之前有值。

请帮助

1 个答案:

答案 0 :(得分:0)

您可以将此代码添加到FORM2中打开FORM 3的按钮。

Dim frm3 As New FORM3()

If frm3.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
    Me.DoWhatYouWantWithThisValue(frm3.SelectTextBox.Text)
End If

当用户从表格3中的列表中选择公司时,您必须设置:

Me.DialogResult = Windows.Forms.DialogResult.OK
相关问题