Vb.net 将布尔变量添加到事件句柄
我有两种形式A和B。当我关闭A时,我需要关闭B,反之亦然。当我关闭B时,我需要关闭A。显然我做不到,因为我在同一形式上调用了两次close方法 我想把这个变量添加到这个表单中Vb.net 将布尔变量添加到事件句柄,vb.net,Vb.net,我有两种形式A和B。当我关闭A时,我需要关闭B,反之亦然。当我关闭B时,我需要关闭A。显然我做不到,因为我在同一形式上调用了两次close方法 我想把这个变量添加到这个表单中 Public Sub a_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed End Sub 这样: Public Sub a_FormClosed(sender As Object, e As FormClo
Public Sub a_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
End Sub
这样:
Public Sub a_FormClosed(sender As Object, e As FormClosedEventArgs, flag as Boolean) Handles MyBase.FormClosed
if flag > true
a.close()
else
a.close()
b.close()
end if
End Sub
它不起作用,因为它不正确。
我错在哪里?结束事件更合适。“…由于此窗体正在关闭,请关闭另一个…” 检查其他表单类型的实例是否已打开,然后将其关闭。实际上,两个窗体的关闭事件可以运行相同的代码
Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
For Each frm As Form In Application.OpenForms
If TypeOf frm Is Form2 Then
frm.Close()
Exit For
End If
Next
End Sub
(不需要标志。)
请注意,尝试在其
关闭的事件中关闭表单是多余的。关闭事件更合适。“…由于此窗体正在关闭,请关闭另一个…”
检查其他表单类型的实例是否已打开,然后将其关闭。实际上,两个窗体的关闭事件可以运行相同的代码
Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
For Each frm As Form In Application.OpenForms
If TypeOf frm Is Form2 Then
frm.Close()
Exit For
End If
Next
End Sub
(不需要标志。)
请注意,在其关闭事件中尝试关闭表单是多余的。如果需要,可以将该循环向下折叠为一行:Application.OpenForms.OfType(Form2的)().FirstOrDefault()?.Close()
。如果需要,可以将该循环向下折叠为一行:Application.OpenForms.OfType(Form2的)().FirstOrDefault()?.Close()
。