在Winforms应用程序中关闭两个打开的表单

时间:2014-04-27 11:26:27

标签: vb.net winforms

我正在开发Windows表单应用程序

在父表单中,我一起打开两个表单 - FrmrecievedDelivaryRequestFrmReleasedInPodium

在父母表格中,我打开了两个这样的表格:

frm1 = New FrmrecievedDelivaryRequest
frm1.Location = New Point(375, 0)
frm1.MdiParent = Me
frm1.Show()

frm6 = New FrmReleasedInPodium
frm6.Location = New Point(809, 0)
frm6.MdiParent = Me
frm6.Show()

FrmReleasedInPodium我有一个关闭按钮。

单击关闭按钮时,我必须关闭两个表单,所以我写了这段代码:

  Me.Close()
  Dim form2 = New FrmrecievedDelivaryRequest()
  form2.Close()

但这并未关闭我的FrmrecievedDelivaryRequest,只关闭FrmReleasedInPodium

点击关闭按钮时,我必须关闭两个表格..我该怎么做?

1 个答案:

答案 0 :(得分:3)

您正在创建FrmrecievedDelivaryRequest的新实例,然后立即关闭它。该新实例与您在第一个表单中创建的原始实例无关。

要同时关闭这两项内容,您必须将原始FrmrecievedDelivaryRequest的引用传递到FrmReleasedInPodium的实例。


FrmrecievedDelivaryRequest的实例传递给FrmReleasedInPodium

frm6 = New FrmReleasedInPodium(frm1)
frm6.Location = New Point(809, 0)
frm6.MdiParent = Me
frm6.Show()

然后在FrmReleasedInPodium中引用它:

Public Class FrmReleasedInPodium

    private frmRDR as FrmrecievedDelivaryRequest

    Public Sub New(ByVal frmRDR As FrmrecievedDelivaryRequest)
        InitializeComponent
        Me.frmRDR = frmRDR
    End Sub

End Class