这应该很简单,但我不能让它发挥作用。我已经搜索了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
任何帮助都将不胜感激。
答案 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