当另一个表单关闭时关闭表单

时间:2014-06-06 15:03:51

标签: vb.net winforms forms

这应该很简单,但我不能让它发挥作用。我已经搜索了SO和Google,令我惊讶的是我找不到答案。我要做的就是在另一个表单关闭时关闭一个表单。单击按钮打开第二个表单。当Form1关闭时,Form2也应该关闭。 Form2可能没有打开,所以我们需要检查它是否先打开。这就是我一直在使用的:

Private Sub frm_scu_config_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

    ' this isn't working
    If Application.OpenForms().OfType(Of frm_scu_report_display).Any Then

        Dim frmConfig As frm_scu_report_display

        ' Open the config form and pass the list of turbines
        frmConfig = New frm_scu_report_display()
        frmConfig.Close()

    End If
End Sub

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您已经在该LINQ查询中获得了更好的答案的一半,但随后您创建了frm_scu_report_display的新实例并尝试关闭此(未打开的)实例。
如果我没有弄错,如果你坚持你已经拥有的道路,它应该有效:

    While Application.OpenForms().OfType(Of frm_scu_report_display).Any
        Application.OpenForms().OfType(Of frm_scu_report_display).First.Close()
    End While