当儿童表格也关闭时关闭父表格

时间:2015-04-09 20:13:26

标签: vb.net formclosing

除了我的主要表单,我还有另一个表单frmAddFixture,它可以打开frmAddReport。

我只是在从msgbox中选择“No”时关闭frmAddFixture,这也关闭(成功)Me(frmAddReport)。如果选择“是”,则frmAddFixture应该保持打开状态。但我不能让它关闭“不”。我已经尝试添加自己的处理程序以检测frmAddReport何时关闭,但我无法正常工作。

frmAddReport代码(单击“提交”按钮后运行):

Private Sub showMsg()

Select Case MsgBox("Do you want to add another player report for this fixture?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Add further reports")

    Case MsgBoxResult.Yes
                    isNewFixture = False
    Me.Close()

    Case MsgBoxResult.No
                    isNewFixture = True
                    Me.Close()
                    ''Close frmAddFixture
                    'frmAddFixture.Dispose()
                    'frmAddFixture.Close()
                    'frmAddFixture.Hide()
        End Select
End Sub

尝试:

    Private Sub frmAddReport_FormClosed(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.FormClosed
        frmAddFixture.Dispose()
    End Sub

1 个答案:

答案 0 :(得分:1)

以下是我认为您要做的事情。

让我们暂时忽略消息框,并说我们有两种形式:Form1Form2。我们希望只要Form2被合并,Form1也会被处理(关闭)。我很漂亮:

Public Class Form2

' Occurs when Form2 is closed (note the event handler).
Private Sub Form2_FormClosed(sender As Object, e As EventArgs) Handles MyBase.FormClosed
    Form1.Dispose()
End Sub
End Class